Server

<back to all web services

UpdateAbrechnungseinheit

Requires Authentication
The following routes are available for this service:
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

HTTP + 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
		}
	}
}