| PUT | /App/{UserId}/Abrechnungseinheit |
|---|
import Foundation
import ServiceStack
// @DataContract
public class UpdateAbrechnungseinheit : Eras2AppServiceModelBase
{
// @DataMember(Name="Abrechnungseinheit")
public var Abrechnungseinheit:Abrechnungseinheit
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case Abrechnungseinheit
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
Abrechnungseinheit = try container.decodeIfPresent(Abrechnungseinheit.self, forKey: .Abrechnungseinheit)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if Abrechnungseinheit != nil { try container.encode(Abrechnungseinheit, forKey: .Abrechnungseinheit) }
}
}
// @DataContract
public class Eras2AppServiceModelBase : Codable
{
// @DataMember(Name="UserId")
public var UserId:String
required public init(){}
}
public class Abrechnungseinheit : Codable
{
// @DataMember(Name="Guid")
public var Guid:String
// @DataMember(Name="LastModified")
public var LastModified:Date?
// @DataMember(Name="Objektnummer")
public var Objektnummer:String
// @DataMember(Name="Notiz")
public var Notiz:String
// @DataMember(Name="NotizIntern")
public var NotizIntern:String
// @DataMember(Name="NotizLegionellen")
public var NotizLegionellen:String
// @DataMember(Name="Kunde")
public var Kunde:Customer
// @DataMember(Name="Adresse")
public var Adresse:Address
// @DataMember(Name="BillingPeriodEnd")
public var BillingPeriodEnd:Date?
// @DataMember(Name="PersonAbrechnungseinheit")
public var PersonAbrechnungseinheit:IList<PersonAbrechnungseinheit>
// @DataMember(Name="Persons")
public var Persons:IList<Person>
required public init(){}
}
// @DataContract
public class Customer : Codable
{
// @DataMember(Name="Guid")
public var Guid:String
// @DataMember(Name="Name")
public var Name:String
// @DataMember(Name="Name2")
public var Name2:String
// @DataMember(Name="Name3")
public var Name3:String
// @DataMember(Name="Kundennummer")
public var Kundennummer:String
// @DataMember(Name="Notiz")
public var Notiz:String
// @DataMember(Name="Anrede")
public var Anrede:String
required public init(){}
}
// @DataContract
public class Address : Codable
{
// @DataMember(Name="Guid")
public var Guid:String
// @DataMember(Name="Straße")
public var Stra_e:String
// @DataMember(Name="Straße2")
public var Stra_e2:String
// @DataMember(Name="Hausnummer")
public var Hausnummer:String
// @DataMember(Name="Postleitzahl")
public var Postleitzahl:String
// @DataMember(Name="Ort")
public var Ort:String
// @DataMember(Name="Postfach")
public var Postfach:String
// @DataMember(Name="Adresszusatz")
public var Adresszusatz:String
// @DataMember(Name="Breitengrad")
public var Breitengrad:Double
// @DataMember(Name="Laengengrad")
public var Laengengrad:Double
required public init(){}
}
// @DataContract
public class PersonAbrechnungseinheit : Codable
{
// @DataMember(Name="Guid")
public var Guid:String
// @DataMember(Name="LastModified")
public var LastModified:Date?
// @DataMember(Name="Anmerkung")
public var Anmerkung:String
// @DataMember(Name="PersonGuid")
public var PersonGuid:String
// @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(){}
}
public class UpdateAbrechnungseinheitResponse : Codable
{
public var responseStatus:ResponseStatus
required public init(){}
}
Swift UpdateAbrechnungseinheit DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
PUT /App/{UserId}/Abrechnungseinheit HTTP/1.1
Host: messdienstservice-stadtwerke-peine-servamw.eras-online.de
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
Abrechnungseinheit:
{
Guid: 00000000000000000000000000000000,
LastModified: 0001-01-01T00:00:00Z,
Objektnummer: String,
Notiz: String,
NotizIntern: String,
NotizLegionellen: String,
Kunde:
{
Guid: 00000000000000000000000000000000,
Name: String,
Name2: String,
Name3: String,
Kundennummer: String,
Notiz: String,
Anrede: String
},
Adresse:
{
Guid: 00000000000000000000000000000000,
Straße: String,
Straße2: String,
Hausnummer: String,
Postleitzahl: String,
Ort: String,
Postfach: String,
Adresszusatz: String,
Breitengrad: 0,
Laengengrad: 0
},
BillingPeriodEnd: 0001-01-01T00:00:00Z
},
UserId: 00000000000000000000000000000000
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
responseStatus:
{
errorCode: String,
message: String,
stackTrace: String,
errors:
[
{
errorCode: String,
fieldName: String,
message: String,
meta:
{
String: String
}
}
],
meta:
{
String: String
}
}
}