API dokumentation

Adgang til webservice

Inden en kunde kan tilgå EazyProject webservicen, skal det aftales med EazySoft, som vil stå for aktivering af webservicen.

Authentication header

For at bruge webservicen skal en authentication header udfyldes.

Felterne i denne er:

  • Username
  • Password
  • CustomerNumber

Kode eksempel

Herunder er kode eksempler, der viser hvordan webservicen kaldes.

VB.NET
Eksempel på kode, til at kalde GetProjects metoden

Først skal man tilføje en "Web Reference" i sit vb.net projekt (se nedenstående billede)

Her skal man i URL'en skrive sin EazyProject efterfulgt af /EazyProjectService.asmx

Gantt

Imports HentDataFraEazyProjectsAPI.EazyProjectWebService        

Dim webservice As New EazyProjectService

Dim auth As AuthHeader = New AuthHeader

auth.CustomerNumber = "12345" ' Nummer rekvireres hos EazySoft

auth.Username = "Brugernavn" ' Brugernavn rekvireres hos EazySoft

auth.Password = "Password" ' Password rekvireres hos EazySoft

webservice.AuthHeaderValue = auth

' Henter alle projekter fra EazyProject

Dim alleProjekter = webservice.GetProjects("")


Download VB.NET projekt med ovenstående kode


C#

Eksempel på kode, til at kalde GetProjects metoden

Først skal man tilføje en "Web Reference" følg måde der bruges i VB.NET (se ovenstående billede og tekst)

using HentDataFraEazyProjectsAPI_Csharp.EazyProjectWebService;


var webservice = new EazyProjectService();

var auth = new AuthHeader();

auth.CustomerNumber = "12345"; // Nummer rekvireres hos EazySoft

auth.Username = "Brugernavn"; // Brugernavn rekvireres hos EazySoft

auth.Password = "Password"; // Password rekvireres hos EazySoft

webservice.AuthHeaderValue = auth;

var parameter = "";

// Henter alle projekter fra EazyProject

var alleProjekter = webservice.GetProjects(ref parameter);


Download C# projekt med ovenstående kode


Servicefunktioner

I dette afsnit finder man metoderne i webservicen samt en kort beskrivelse af EazyProject webservice.

Login

Logon(ByVal username As String, ByVal password As String, ByRef status As String) As User

Med denne metode kan man tjekke om brugeren eksisterer i eazyproject 

Tidsregistrering

CreateTimeRegistration(ByVal userId As Integer, ByVal regDate As Date, ByVal projectId As Integer, ByVal projectPhaseId As Integer, ByVal time As Double, ByVal commentary As String, ByRef status As String, ByVal approved As Boolean, thirdpartid As Integer, username As String)

Med denne metode kan man oprette  en timeregistering i EazyProject

CreateTimeRegistrations(timeRegistrations As List(Of TimeRegistration), ByRef status As String)
Med denne metode kan man oprette en række af timeregisteringer i EazyProject

UpdateTimeRegistration(ByVal timeRegistrationId As Integer, ByVal time As Double, ByVal comment As String, ByRef status As String)
Med denne metode kan man opdatere en timeregistrering i EazyProject

GetTimeRegistration(ByVal userId As Integer, ByVal regDate As Date, ByVal taskID As Integer, ByRef status As String) As TimeRegistration
Med denne metode kan man udtrække en tidsregistrering fra EazyProject.

GetTimeRegistrations(ByRef status As String) As List(Of TimeRegistration)

Med denne metode kan man udtrække alle tidsregistreringer i EazyProject.

GetTimeRegistrationsWithProjectId(ByRef status As String, projectid As Integer) As List(Of TimeRegistration)
Med denne metode kan man udtrække alle tidsregistreringer ved hjælp af et projektid i EazyProject.

GetTimeRegistrations_Where(ByRef status As String, startdate As Date, enddate As Date, withlog As Boolean) As List(Of TimeRegistration)
Med denne metode kan man udtrække en tidsregistrering indefor et start og slut periode. Hvis der ønskes log for hvert tidsregistrering,  er der mulighed for dette.

Kørsel

GetDriving(userId As Integer, regDate As Date, taskId As Integer, ByRef status As String) As DrivingRegistration
Med denne metode kan man udtrække et kørselregistrering fra EazyProject.

CreateDriving(userId As Integer, regDate As Date, kilometers As Double, taskId As Integer, fromAddress As String, toAddress As String, bothWays As Boolean, purpose As String, registrationNumber As String, ByRef status As String)
Med denne metode kan man oprette et kørselregistrering fra EazyProject.

UpdateDriving(drivingId As Integer, kilometers As Double, bothWays As Boolean, fromAddress As String, toAddress As String, purpose As String, registrationNumber As String, ByRef status As String)
Med denne metode kan man opdatere et kørselregistrering fra EazyProject.

Projekter

GetProject(projectId As Integer, ByRef status As String) As Project
Med denne metode kan man udtrække et projekt.

CreateProject(name As String, customerId As Integer, projectTypeId As Integer, projectStatusId As Integer, projectManagerId As Integer, startDate As Date, endDate As Date) As String
Med denne metode kan man oprette et projekt .

UpdateProject(project As Project) As String
Med denne metode kan man opdatere et projekt.

GetProjectsIncludePhases(ByRef status As String, ByRef includePhases As Boolean) As List(Of Project)
Med denne metode kan man udtrække en komplet liste af projekter samt tilhørende opgaver.

GetProjects(ByRef status As String) As List(Of Project)
Med denne metode kan man udtrække en liste af  projekter.

GetProjectsWhereMember(userId As Integer, ByRef status As String) As List(Of Project)
Med denne metode kan man udtrække en liste af projekter hvor projektmedlemmet er tilknyttet.

SearchProjects(searchString As String, projectTypeId As Integer, projectStatusId As Integer, ByRef status As String) As List(Of Project)
Med denne metode kan man søge i projekter i EazyProject. En søgetekst angives i et af parametrene til metoden. Denne søgestreng bruges til at søge i projektnummer, projektnavn, kundenavn og beskrivelse i projekterne.

ProjectManning(userId As Integer, projectId As Integer, taskId As Integer, hours As Double, ByRef status As String) As String
Med denne metode kan man bemande et projekt.

Projektfase

GetProjectPhases(projectId As String, ByRef status As String) As List(Of ProjectPhase)
Med denne metode kan man udtrække alle projektfaser der har tilhører et projektid . 

UpdateProjectPhases(projectId As Integer, ProjectPhase As List(Of ProjectPhase2), ByRef status As String)
Med denne metode kan man opdatere projektfase.

GetPhaseNames(ByRef status As String) As List(Of PhaseName)
Med denne metode kan man udtrække en komplet liste af fasenavne.

Projekttype

GetProjectTypes(ByRef status As String) As List(Of ProjectType)
Med denne metode kan man udtrække alle projektyper. 

Projektstatus

GetProjectStatusList(ByRef status As String) As List(Of ProjectStatus)
Med denne metode kan man udtrække en komplet liste af projektstatus’er. 

Kunder

GetCustomer(customerId As Integer, ByRef status As String) As Customer
Med denne metode kan man udtrække en kunde.

CreateCustomer(name As String, ByRef status As String)
Med denne metode kan man oprette en kunde.

GetCustomers(ByRef status As String) As List(Of Customer)
Med denne metode kan man udtrække en komplet liste af kunder.

SearchCustomers(searchString As String, ByRef status As String) As List(Of Customer)
Med denne metode kan man søge i projekter i EazyProject. En søgetekst angives i et af parametrene til metoden. Denne søgestreng bruges til at søge i kundenavn, kundetelefon, kundenummer, kontaktperson og kundeadresse i kunderne i EazyProject.

Kundetype  

GetCustomerTypes(ByRef status As String) As List(Of CustomerType)
Med denne metode kan man udtrække en liste af kundetyper I EazyProject.

Bruger

GetUsers (ByRef status As String) As List(Of User)
Med denne metode kan man udtrække en liste af brugere i EazyProject.

Flex

GetUserFlexBalance (userId As Integer, perDate As Date) As Decimal
Med denne metode kan man hente en flex status på en specifik bruger pr en given dato.

GetUsersFlexBalanceSentToBluegarden () As List(Of User)
Med denne metode kan man hente flex saldo pr. medarbejder - ud fra det der er sendt, via Bluegarden integrationen.

Projektdimension

GetProjectDimensions(dimensionNo As Integer, ByRef status As String) As List(Of ProjectDimension)
Med denne metode kan man udtrække en komplet liste af projektdimensioner i EazyProject.

Valuta

GetCurrencies(ByRef status As String) As List(Of Currency)
Med denne metode kan man udtrække en komplet liste af valutaer I EazyProject.

Risikostatus

GetRiskStatusList(ByRef status As String) As List(Of RiskStatus)
Med denne metode kan man udtrække en komplet liste af Risiko status’er i EazyProject

Timetype  

GetHourTypes(ByRef status As String) As List(Of HourType)
Med denne metode kan man udtrække en komplet liste af timetyper i EazyProject.

Faktura

GetInvoice(invoiceId As Integer, ByRef status As String) As Invoice
Med denne metode kan man udtrække en faktura

GetInvoices(ByRef status As String) As List(Of Invoice)
Med denne metode kan man udtrække en komplet liste af faktura

SearchInvoices(searchText As String, ByRef status As String) As List(Of Invoice)
Med denne metode kan man søge efter en bestemt faktura.

CreateInvoice(invoice As Invoice, ByRef status As String)
Med denne metode kan man oprette en faktura.

Planlægning

GetPlans(userId As Integer, planDate As Date, ByRef status As String) As List(Of Plan)
Med denne metode kan man udtrække en komplet liste af planer.

Planlægning Pro

GetPlanningPlannedHours(projectId As Integer, taskId As Integer, userId as Integer, ByRef status As String) As Decimal
Med denne metode kan man udtrække antal planlagte timer på et projekt, på en opgave/alle opgaver, på en bruger/alle brugere. For at få tallet på alle opgaver eller alle brugerne skal man angive 0 i taskId eller userId.

GetPlanningEstimatedHours(projectId As Integer, taskId As Integer, userId as Integer, ByRef status As String) As Decimal
Med denne metode kan man udtrække antal estimerede timer på et projekt, på en opgave/alle opgaver, på en bruger/alle brugere. For at få tallet på alle opgaver eller alle brugerne skal man angive 0 i taskId eller userId.

Booking

HentLokaleTyper(id As Integer) As List(Of LokaleType)
Med denne metode kan man udtrække en liste lokaletyper

HentLokationer(id As Integer, kode As String) As List(Of Lokation)
Med denne metode kan man udtrække en bestemt lokale ved hjælp af id.

HentLokaler(filter As LokaleFilter) As List(Of Lokale)
Med denne metode kan man udtrække en liste af lokaler ved hjælp af en klasse ved navn lokalefilter

HentLedigeLokaler(filter As LokaleFilter, start As DateTime, slut As DateTime, bruger As String) As List(Of Lokale)
Med denne metode kan man udtrække en liste af ledige lokaler ved hjælp af en klassen lokalefilter, start og slutdato, samt bruger.

HentArrangementer(filter As ArrangementsFilter) As List(Of Arrangement)
Med denne metode kan man en liste af arrangementer ved hjælp af en klasse ved navn arrangementfilter

OpretArrangement(item As Arrangement) As SvarKode
Med denne metode kan man oprette et arrangement ved hjælp af en klasse ved navn arrangement

OpdaterArrangement(item As Arrangement) As SvarKode
Med denne metode kan man opdatere arrangement ved hjælp af en klasse ved navn arrangement

SletArrangement(arrangementID As Integer) As Integer
Med denne metode kan man udtrække en komplet lokaletyper

Serviceklasser

I dette afsnit finder man klasserne der bliver brugt i webservicen i webservice. 

Project

  • Id (integer)
  • Name (string)
  • Customer (Customer)
  • Type (ProjectType)
  • Status (ProjectStatus)
  • StartDate (DateTime)
  • EndDate (DateTime)
  • Manager (User)
  • Dimension1 (ProjectDimension)
  • Dimension2 (ProjectDimension)
  • Dimension3 (ProjectDimension)
  • BudgetKr (double)
  • BudgetHours (double)
  • FixedPrice (boolean)
  • UserField1 (string)
  • UserField2 (string)
  • UserField3 (string)
  • UserField4(string)
  • UserField5 (string)
  • Description (string)
  • ContactCompany (string)
  • ContactPerson (string)
  • ContactAddress (string)
  • ContactZipCode (string)
  • ContactCity (string)
  • ContactPhone (string)
  • NextAction (string)
  • CurrentPhase (PhaseName)
  • ProjectNumberText (string)
  • Currency (Currency)
  • CreatedDate (DateTime)
  • DefaultInvoiceDescription (string)
  • Manager2 (User)
  • Ean (string)
  • RiskStatus (RiskStatus)
  • CostOverhead (double)
  • Phases (List of(ProjectPhase))
  • Members (List of(ProjectMember))

 

Customer

  • Id (integer)
  • Name (string)
  • Number (string)
  • Address (string)
  • Zipcode (string)
  • City (string)
  • Country (string)
  • ContactPerson (string)
  • Email (string)
  • Telephone (string)
  • Cellphone (string)
  • Fax (string)
  • Status (ProjectStatus)
  • Type (CustomerType)
  • Ean (string)
  • Cvr (string)
  • Discount (double)
  • Responsible (User)
  •  Contacts (List of(CustomerContact))

 

ProjectType

  • Id (integer)
  • ProjectStatus
  • Id (integer)
  • NameDk (string)
  • NameUk (string)
  • ProjectDimension
  • Description (string)
  • AltOrder (integer)

  

PhaseName

  • Id (integer)
  • Name (string)
  • Status (ProjectStatus)
  • Description (string)
  • Color (string)

 

Currency

  • Id (string)
  • Name (string)
  • RateAgainstDKR (double)
  • Status (ProjectStatus)
  • DefaultTax (double)
  • RiskStatus
  • Id (string)
  • Description (string)
  • Icon (string)

 

ProjectPhase

  • Id (integer)
  • Name (PhaseName)
  • StartDate (DateTime)
  • EndDate (DateTIme)
  • Description (string)
  • BudgetKr (double)
  • BudgetHours (double)
  • HourType (HourType)
  • Task (string)
  • Position (integer)
  • Responsible (User)
  • CustomerType

      

HourType

  • Id (integer)
  • Name (string)
  • Price (double)
  • Language (string)
  • Status (ProjectStatus)
  • CostPrice (double)
  • MaterialNumber (string)
  • Factor (double)
  • Color (string)

  

Registration

  • Id (integer)
  • ProjectPhaseId (integer)
  • UserId (Integer)
  • RegDate (Date)
  • (Optional) ThirdPartId (integer)

 

TimeRegistration (er en nedarvning af Registration)

  • Hours (Double)
  • Comment (String)
  • ProjectId (integer)
  • Approved (Boolean)