Server

<back to all web services

UpdateOrder

Requires Authentication
The following routes are available for this service:
PUT/App/{UserId}/Order
import Foundation
import ServiceStack

// @DataContract
public class UpdateOrder : Codable
{
    // @DataMember(Name="Auftrag")
    public var Auftrag:Order

    required public init(){}
}

// @DataContract
public class Order : Codable
{
    // @DataMember(Name="Guid")
    public var Guid:String

    // @DataMember(Name="LastModified")
    public var LastModified:Date?

    // @DataMember(Name="AbrechnungseinheitGuid")
    public var AbrechnungseinheitGuid:String

    // @DataMember(Name="AuftragNummer")
    public var AuftragNummer:String

    // @DataMember(Name="Bezeichnung")
    public var Bezeichnung:String

    // @DataMember(Name="Anmerkung")
    public var Anmerkung:String

    // @DataMember(Name="UnterschriftBenoetigt")
    public var UnterschriftBenoetigt:Bool

    // @DataMember(Name="Erstellungsdatum")
    public var Erstellungsdatum:Date

    // @DataMember(Name="AuftragZustand")
    public var AuftragZustand:OrderState

    // @DataMember(Name="Termine")
    public var Termine:IList<Appointment>

    // @DataMember(Name="AuftragsPositionen")
    public var AuftragsPositionen:IList<OrderPosition>

    // @DataMember(Name="NutzeinheitZustaende")
    public var NutzeinheitZustaende:IList<NutzeinheitOrderState>

    // @DataMember(Name="GeraeteZustaende")
    public var GeraeteZustaende:IList<DeviceOrderState>

    // @DataMember(Name="Auftraggeber")
    public var Auftraggeber:Orderer

    // @DataMember(Name="Unterschriften")
    public var Unterschriften:IList<Signature>

    required public init(){}
}

// @DataContract
public class OrderState : Codable
{
    // @DataMember(Name="LastModified")
    public var LastModified:Date?

    // @DataMember(Name="AuftragArten")
    public var AuftragArten:IList<OrderKind?>

    // @DataMember(Name="Bearbeitungsstatus")
    public var Bearbeitungsstatus:ProcessState?

    // @DataMember(Name="AbgeschlossenDatum")
    public var AbgeschlossenDatum:Date?

    required public init(){}
}

public enum ProcessState : String, Codable
{
    case InProgress
    case Updating
    case Creating
    case Completed
}

// @DataContract
public class Appointment : Codable
{
    // @DataMember(Name="Guid")
    public var Guid:String

    // @DataMember(Name="Von")
    public var Von:Date

    // @DataMember(Name="Bis")
    public var Bis:Date

    // @DataMember(Name="Monteure")
    public var Monteure:IList<AppointmentStoreUser>

    // @DataMember(Name="Nutzeinheiten")
    public var Nutzeinheiten:IList<AppointmentNutzeinheit>

    required public init(){}
}

// @DataContract
public class AppointmentStoreUser : Codable
{
    // @DataMember(Name="MonteurGuid")
    public var MonteurGuid:String

    required public init(){}
}

// @DataContract
public class AppointmentNutzeinheit : Codable
{
    // @DataMember(Name="NutzeinheitGuid")
    public var NutzeinheitGuid:String

    required public init(){}
}

// @DataContract
public class OrderPosition : Codable
{
    // @DataMember(Name="Guid")
    public var Guid:String

    // @DataMember(Name="LastModified")
    public var LastModified:Date?

    // @DataMember(Name="Anmerkung")
    public var Anmerkung:String

    // @DataMember(Name="SollMenge")
    public var SollMenge:Int

    // @DataMember(Name="IstMenge")
    public var IstMenge:Int

    // @DataMember(Name="NutzeinheitOrderPositions")
    public var NutzeinheitOrderPositions:IList<NutzeinheitOrderPosition>

    // @DataMember(Name="ArtikelGuid")
    public var ArtikelGuid:String

    required public init(){}
}

// @DataContract
public class NutzeinheitOrderPosition : Codable
{
    // @DataMember(Name="NutzeinheitGuid")
    public var NutzeinheitGuid:String

    required public init(){}
}

// @DataContract
public class NutzeinheitOrderState : Codable
{
    // @DataMember(Name="NutzeinheitGuid")
    public var NutzeinheitGuid:String

    // @DataMember(Name="LastModified")
    public var LastModified:Date?

    // @DataMember(Name="AuftragArten")
    public var AuftragArten:IList<NutzeinheitOrderKind?>

    // @DataMember(Name="Bearbeitungsstatus")
    public var Bearbeitungsstatus:ProcessState?

    // @DataMember(Name="AbgeschlossenDatum")
    public var AbgeschlossenDatum:Date?

    // @DataMember(Name="OsVersion")
    public var OsVersion:String

    // @DataMember(Name="AppVersion")
    public var AppVersion:String

    // @DataMember(Name="OsPlatform")
    public var OsPlatform:String

    // @DataMember(Name="AppGeraeteNummmer")
    public var AppGeraeteNummmer:String

    // @DataMember(Name="AmwInfoKeyGuid")
    public var AmwInfoKeyGuid:String?

    required public init(){}
}

// @DataContract
public class DeviceOrderState : Codable
{
    // @DataMember(Name="GeraeteGuid")
    public var GeraeteGuid:String

    // @DataMember(Name="AuftragGuid")
    public var AuftragGuid:String

    // @DataMember(Name="AuftragArt")
    public var AuftragArt:DeviceOrderKind?

    // @DataMember(Name="Bearbeitungsstatus")
    public var Bearbeitungsstatus:ProcessState?

    // @DataMember(Name="AbgeschlossenDatum")
    public var AbgeschlossenDatum:Date?

    // @DataMember(Name="AmwInfo")
    public var AmwInfo:String

    required public init(){}
}

public enum DeviceOrderKind : String, Codable
{
    case Assembly
    case Maintenance
    case Exchange
    case Reading
    case Inspection
    case MainReading
}

// @DataContract
public class Orderer : Codable
{
    // @DataMember(Name="Guid")
    public var Guid:String

    // @DataMember(Name="Person")
    public var Person:Person

    // @DataMember(Name="BetrieblichePosition")
    public var BetrieblichePosition:String

    required public init(){}
}

// @DataContract
public class Person : Codable
{
    // @DataMember(Name="Guid")
    public var Guid:String

    // @DataMember(Name="LastModified")
    public var LastModified:Date?

    // @DataMember(Name="Nachname1")
    public var Nachname1:String

    // @DataMember(Name="Nachname2")
    public var Nachname2:String

    // @DataMember(Name="Nachname3")
    public var Nachname3:String

    // @DataMember(Name="Vorname1")
    public var Vorname1:String

    // @DataMember(Name="Vorname2")
    public var Vorname2:String

    // @DataMember(Name="Anmerkung")
    public var Anmerkung:String

    // @DataMember(Name="Anrede")
    public var Anrede:String

    // @DataMember(Name="Titel")
    public var Titel:String

    // @DataMember(Name="PersonKommunikationen")
    public var PersonKommunikationen:[PersonCommunication] = []

    required public init(){}
}

// @DataContract
public class PersonCommunication : Codable
{
    // @DataMember(Name="Guid")
    public var Guid:String

    // @DataMember(Name="LastModified")
    public var LastModified:Date?

    // @DataMember(Name="Adresse")
    public var Adresse:String

    // @DataMember(Name="Anmerkung")
    public var Anmerkung:String

    // @DataMember(Name="KommunikationsFunktionGuid")
    public var KommunikationsFunktionGuid:String

    required public init(){}
}

// @DataContract
public class Signature : Codable
{
    // @DataMember(Name="Guid")
    public var Guid:String

    // @DataMember(Name="Timestamp")
    public var Timestamp:Date?

    // @DataMember(Name="UnterschriftArt")
    public var UnterschriftArt:SignatureKind?

    // @DataMember(Name="NutzeinheitGuid")
    public var NutzeinheitGuid:String

    required public init(){}
}

public enum SignatureKind : String, Codable
{
    case Nutzer
    case Technician
}

public class UpdateOrderResponse : Codable
{
    public var responseStatus:ResponseStatus

    required public init(){}
}


Swift UpdateOrder DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml

HTTP + XML

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

PUT /App/{UserId}/Order HTTP/1.1 
Host: demo-servamw.eras-online.de 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<UpdateOrder xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Eras2Amw.Service.Server.ServiceModel.Eras2App.Update">
  <UserId xmlns="http://schemas.datacontract.org/2004/07/Eras2Amw.Service.Server.ServiceModel.Eras2App">00000000-0000-0000-0000-000000000000</UserId>
  <Auftrag xmlns:d2p1="http://schemas.datacontract.org/2004/07/Eras2Amw.Service.Server.ServiceModel.Common">
    <d2p1:AbrechnungseinheitGuid>00000000-0000-0000-0000-000000000000</d2p1:AbrechnungseinheitGuid>
    <d2p1:Anmerkung>String</d2p1:Anmerkung>
    <d2p1:AuftragNummer>String</d2p1:AuftragNummer>
    <d2p1:AuftragZustand>
      <d2p1:AbgeschlossenDatum>0001-01-01T00:00:00</d2p1:AbgeschlossenDatum>
      <d2p1:AuftragArten xmlns:d4p1="http://schemas.datacontract.org/2004/07/System" i:nil="true" />
      <d2p1:Bearbeitungsstatus>InProgress</d2p1:Bearbeitungsstatus>
      <d2p1:LastModified>0001-01-01T00:00:00</d2p1:LastModified>
    </d2p1:AuftragZustand>
    <d2p1:Auftraggeber>
      <d2p1:BetrieblichePosition>String</d2p1:BetrieblichePosition>
      <d2p1:Guid>00000000-0000-0000-0000-000000000000</d2p1:Guid>
      <d2p1:Person>
        <d2p1:Anmerkung>String</d2p1:Anmerkung>
        <d2p1:Anrede>String</d2p1:Anrede>
        <d2p1:Guid>00000000-0000-0000-0000-000000000000</d2p1:Guid>
        <d2p1:LastModified>0001-01-01T00:00:00</d2p1:LastModified>
        <d2p1:Nachname1>String</d2p1:Nachname1>
        <d2p1:Nachname2>String</d2p1:Nachname2>
        <d2p1:Nachname3>String</d2p1:Nachname3>
        <d2p1:PersonKommunikationen i:nil="true" />
        <d2p1:Titel>String</d2p1:Titel>
        <d2p1:Vorname1>String</d2p1:Vorname1>
        <d2p1:Vorname2>String</d2p1:Vorname2>
      </d2p1:Person>
    </d2p1:Auftraggeber>
    <d2p1:AuftragsPositionen i:nil="true" />
    <d2p1:Bezeichnung>String</d2p1:Bezeichnung>
    <d2p1:Erstellungsdatum>0001-01-01T00:00:00</d2p1:Erstellungsdatum>
    <d2p1:GeraeteZustaende i:nil="true" />
    <d2p1:Guid>00000000-0000-0000-0000-000000000000</d2p1:Guid>
    <d2p1:LastModified>0001-01-01T00:00:00</d2p1:LastModified>
    <d2p1:NutzeinheitZustaende i:nil="true" />
    <d2p1:Termine i:nil="true" />
    <d2p1:UnterschriftBenoetigt>false</d2p1:UnterschriftBenoetigt>
    <d2p1:Unterschriften i:nil="true" />
  </Auftrag>
</UpdateOrder>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<UpdateOrderResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Eras2Amw.Service.Server.ServiceModel.Eras2App.Update">
  <ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types">
    <d2p1:ErrorCode>String</d2p1:ErrorCode>
    <d2p1:Message>String</d2p1:Message>
    <d2p1:StackTrace>String</d2p1:StackTrace>
    <d2p1:Errors>
      <d2p1:ResponseError>
        <d2p1:ErrorCode>String</d2p1:ErrorCode>
        <d2p1:FieldName>String</d2p1:FieldName>
        <d2p1:Message>String</d2p1:Message>
        <d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:KeyValueOfstringstring>
            <d5p1:Key>String</d5p1:Key>
            <d5p1:Value>String</d5p1:Value>
          </d5p1:KeyValueOfstringstring>
        </d2p1:Meta>
      </d2p1:ResponseError>
    </d2p1:Errors>
    <d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:KeyValueOfstringstring>
        <d3p1:Key>String</d3p1:Key>
        <d3p1:Value>String</d3p1:Value>
      </d3p1:KeyValueOfstringstring>
    </d2p1:Meta>
  </ResponseStatus>
</UpdateOrderResponse>