Server

<back to all web services

UpdateAbrechnungseinheit

Requires Authentication
The following routes are available for this service:
PUT/App/{UserId}/Abrechnungseinheit
<?php namespace dtos;

use DateTime;
use Exception;
use DateInterval;
use JsonSerializable;
use ServiceStack\{IReturn,IReturnVoid,IGet,IPost,IPut,IDelete,IPatch,IMeta,IHasSessionId,IHasBearerToken,IHasVersion};
use ServiceStack\{ICrud,ICreateDb,IUpdateDb,IPatchDb,IDeleteDb,ISaveDb,AuditBase,QueryDb,QueryDb2,QueryData,QueryData2,QueryResponse};
use ServiceStack\{ResponseStatus,ResponseError,EmptyResponse,IdResponse,ArrayList,KeyValuePair2,StringResponse,StringsResponse,Tuple2,Tuple3,ByteArray};
use ServiceStack\{JsonConverters,Returns,TypeContext};


// @DataContract
class Eras2AppServiceModelBase implements JsonSerializable
{
    public function __construct(
        // @DataMember(Name="UserId")
        /** @var string */
        public string $UserId=''
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['UserId'])) $this->UserId = $o['UserId'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->UserId)) $o['UserId'] = $this->UserId;
        return empty($o) ? new class(){} : $o;
    }
}

class UpdateAbrechnungseinheitResponse implements JsonSerializable
{
    public function __construct(
        /** @var ResponseStatus|null */
        public ?ResponseStatus $responseStatus=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['responseStatus'])) $this->responseStatus = JsonConverters::from('ResponseStatus', $o['responseStatus']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->responseStatus)) $o['responseStatus'] = JsonConverters::to('ResponseStatus', $this->responseStatus);
        return empty($o) ? new class(){} : $o;
    }
}

// @DataContract
class Customer implements JsonSerializable
{
    public function __construct(
        // @DataMember(Name="Guid")
        /** @var string */
        public string $Guid='',

        // @DataMember(Name="Name")
        /** @var string|null */
        public ?string $Name=null,

        // @DataMember(Name="Name2")
        /** @var string|null */
        public ?string $Name2=null,

        // @DataMember(Name="Name3")
        /** @var string|null */
        public ?string $Name3=null,

        // @DataMember(Name="Kundennummer")
        /** @var string|null */
        public ?string $Kundennummer=null,

        // @DataMember(Name="Notiz")
        /** @var string|null */
        public ?string $Notiz=null,

        // @DataMember(Name="Anrede")
        /** @var string|null */
        public ?string $Anrede=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Guid'])) $this->Guid = $o['Guid'];
        if (isset($o['Name'])) $this->Name = $o['Name'];
        if (isset($o['Name2'])) $this->Name2 = $o['Name2'];
        if (isset($o['Name3'])) $this->Name3 = $o['Name3'];
        if (isset($o['Kundennummer'])) $this->Kundennummer = $o['Kundennummer'];
        if (isset($o['Notiz'])) $this->Notiz = $o['Notiz'];
        if (isset($o['Anrede'])) $this->Anrede = $o['Anrede'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Guid)) $o['Guid'] = $this->Guid;
        if (isset($this->Name)) $o['Name'] = $this->Name;
        if (isset($this->Name2)) $o['Name2'] = $this->Name2;
        if (isset($this->Name3)) $o['Name3'] = $this->Name3;
        if (isset($this->Kundennummer)) $o['Kundennummer'] = $this->Kundennummer;
        if (isset($this->Notiz)) $o['Notiz'] = $this->Notiz;
        if (isset($this->Anrede)) $o['Anrede'] = $this->Anrede;
        return empty($o) ? new class(){} : $o;
    }
}

// @DataContract
class Address implements JsonSerializable
{
    public function __construct(
        // @DataMember(Name="Guid")
        /** @var string */
        public string $Guid='',

        // @DataMember(Name="Straße")
        /** @var string|null */
        public ?string $Stra_e=null,

        // @DataMember(Name="Straße2")
        /** @var string|null */
        public ?string $Stra_e2=null,

        // @DataMember(Name="Hausnummer")
        /** @var string|null */
        public ?string $Hausnummer=null,

        // @DataMember(Name="Postleitzahl")
        /** @var string|null */
        public ?string $Postleitzahl=null,

        // @DataMember(Name="Ort")
        /** @var string|null */
        public ?string $Ort=null,

        // @DataMember(Name="Postfach")
        /** @var string|null */
        public ?string $Postfach=null,

        // @DataMember(Name="Adresszusatz")
        /** @var string|null */
        public ?string $Adresszusatz=null,

        // @DataMember(Name="Breitengrad")
        /** @var float */
        public float $Breitengrad=0.0,

        // @DataMember(Name="Laengengrad")
        /** @var float */
        public float $Laengengrad=0.0
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Guid'])) $this->Guid = $o['Guid'];
        if (isset($o['Stra_e'])) $this->Stra_e = $o['Stra_e'];
        if (isset($o['Stra_e2'])) $this->Stra_e2 = $o['Stra_e2'];
        if (isset($o['Hausnummer'])) $this->Hausnummer = $o['Hausnummer'];
        if (isset($o['Postleitzahl'])) $this->Postleitzahl = $o['Postleitzahl'];
        if (isset($o['Ort'])) $this->Ort = $o['Ort'];
        if (isset($o['Postfach'])) $this->Postfach = $o['Postfach'];
        if (isset($o['Adresszusatz'])) $this->Adresszusatz = $o['Adresszusatz'];
        if (isset($o['Breitengrad'])) $this->Breitengrad = $o['Breitengrad'];
        if (isset($o['Laengengrad'])) $this->Laengengrad = $o['Laengengrad'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Guid)) $o['Guid'] = $this->Guid;
        if (isset($this->Stra_e)) $o['Stra_e'] = $this->Stra_e;
        if (isset($this->Stra_e2)) $o['Stra_e2'] = $this->Stra_e2;
        if (isset($this->Hausnummer)) $o['Hausnummer'] = $this->Hausnummer;
        if (isset($this->Postleitzahl)) $o['Postleitzahl'] = $this->Postleitzahl;
        if (isset($this->Ort)) $o['Ort'] = $this->Ort;
        if (isset($this->Postfach)) $o['Postfach'] = $this->Postfach;
        if (isset($this->Adresszusatz)) $o['Adresszusatz'] = $this->Adresszusatz;
        if (isset($this->Breitengrad)) $o['Breitengrad'] = $this->Breitengrad;
        if (isset($this->Laengengrad)) $o['Laengengrad'] = $this->Laengengrad;
        return empty($o) ? new class(){} : $o;
    }
}

// @DataContract
class PersonAbrechnungseinheit implements JsonSerializable
{
    public function __construct(
        // @DataMember(Name="Guid")
        /** @var string */
        public string $Guid='',

        // @DataMember(Name="LastModified")
        /** @var DateTime|null */
        public ?DateTime $LastModified=null,

        // @DataMember(Name="Anmerkung")
        /** @var string|null */
        public ?string $Anmerkung=null,

        // @DataMember(Name="PersonGuid")
        /** @var string */
        public string $PersonGuid='',

        // @DataMember(Name="BetrieblichePosition")
        /** @var string|null */
        public ?string $BetrieblichePosition=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Guid'])) $this->Guid = $o['Guid'];
        if (isset($o['LastModified'])) $this->LastModified = JsonConverters::from('DateTime', $o['LastModified']);
        if (isset($o['Anmerkung'])) $this->Anmerkung = $o['Anmerkung'];
        if (isset($o['PersonGuid'])) $this->PersonGuid = $o['PersonGuid'];
        if (isset($o['BetrieblichePosition'])) $this->BetrieblichePosition = $o['BetrieblichePosition'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Guid)) $o['Guid'] = $this->Guid;
        if (isset($this->LastModified)) $o['LastModified'] = JsonConverters::to('DateTime', $this->LastModified);
        if (isset($this->Anmerkung)) $o['Anmerkung'] = $this->Anmerkung;
        if (isset($this->PersonGuid)) $o['PersonGuid'] = $this->PersonGuid;
        if (isset($this->BetrieblichePosition)) $o['BetrieblichePosition'] = $this->BetrieblichePosition;
        return empty($o) ? new class(){} : $o;
    }
}

// @DataContract
class PersonCommunication implements JsonSerializable
{
    public function __construct(
        // @DataMember(Name="Guid")
        /** @var string */
        public string $Guid='',

        // @DataMember(Name="LastModified")
        /** @var DateTime|null */
        public ?DateTime $LastModified=null,

        // @DataMember(Name="Adresse")
        /** @var string|null */
        public ?string $Adresse=null,

        // @DataMember(Name="Anmerkung")
        /** @var string|null */
        public ?string $Anmerkung=null,

        // @DataMember(Name="KommunikationsFunktionGuid")
        /** @var string */
        public string $KommunikationsFunktionGuid=''
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Guid'])) $this->Guid = $o['Guid'];
        if (isset($o['LastModified'])) $this->LastModified = JsonConverters::from('DateTime', $o['LastModified']);
        if (isset($o['Adresse'])) $this->Adresse = $o['Adresse'];
        if (isset($o['Anmerkung'])) $this->Anmerkung = $o['Anmerkung'];
        if (isset($o['KommunikationsFunktionGuid'])) $this->KommunikationsFunktionGuid = $o['KommunikationsFunktionGuid'];
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Guid)) $o['Guid'] = $this->Guid;
        if (isset($this->LastModified)) $o['LastModified'] = JsonConverters::to('DateTime', $this->LastModified);
        if (isset($this->Adresse)) $o['Adresse'] = $this->Adresse;
        if (isset($this->Anmerkung)) $o['Anmerkung'] = $this->Anmerkung;
        if (isset($this->KommunikationsFunktionGuid)) $o['KommunikationsFunktionGuid'] = $this->KommunikationsFunktionGuid;
        return empty($o) ? new class(){} : $o;
    }
}

// @DataContract
class Person implements JsonSerializable
{
    public function __construct(
        // @DataMember(Name="Guid")
        /** @var string */
        public string $Guid='',

        // @DataMember(Name="LastModified")
        /** @var DateTime|null */
        public ?DateTime $LastModified=null,

        // @DataMember(Name="Nachname1")
        /** @var string|null */
        public ?string $Nachname1=null,

        // @DataMember(Name="Nachname2")
        /** @var string|null */
        public ?string $Nachname2=null,

        // @DataMember(Name="Nachname3")
        /** @var string|null */
        public ?string $Nachname3=null,

        // @DataMember(Name="Vorname1")
        /** @var string|null */
        public ?string $Vorname1=null,

        // @DataMember(Name="Vorname2")
        /** @var string|null */
        public ?string $Vorname2=null,

        // @DataMember(Name="Anmerkung")
        /** @var string|null */
        public ?string $Anmerkung=null,

        // @DataMember(Name="Anrede")
        /** @var string|null */
        public ?string $Anrede=null,

        // @DataMember(Name="Titel")
        /** @var string|null */
        public ?string $Titel=null,

        // @DataMember(Name="PersonKommunikationen")
        /** @var array<PersonCommunication>|null */
        public ?array $PersonKommunikationen=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Guid'])) $this->Guid = $o['Guid'];
        if (isset($o['LastModified'])) $this->LastModified = JsonConverters::from('DateTime', $o['LastModified']);
        if (isset($o['Nachname1'])) $this->Nachname1 = $o['Nachname1'];
        if (isset($o['Nachname2'])) $this->Nachname2 = $o['Nachname2'];
        if (isset($o['Nachname3'])) $this->Nachname3 = $o['Nachname3'];
        if (isset($o['Vorname1'])) $this->Vorname1 = $o['Vorname1'];
        if (isset($o['Vorname2'])) $this->Vorname2 = $o['Vorname2'];
        if (isset($o['Anmerkung'])) $this->Anmerkung = $o['Anmerkung'];
        if (isset($o['Anrede'])) $this->Anrede = $o['Anrede'];
        if (isset($o['Titel'])) $this->Titel = $o['Titel'];
        if (isset($o['PersonKommunikationen'])) $this->PersonKommunikationen = JsonConverters::fromArray('PersonCommunication', $o['PersonKommunikationen']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Guid)) $o['Guid'] = $this->Guid;
        if (isset($this->LastModified)) $o['LastModified'] = JsonConverters::to('DateTime', $this->LastModified);
        if (isset($this->Nachname1)) $o['Nachname1'] = $this->Nachname1;
        if (isset($this->Nachname2)) $o['Nachname2'] = $this->Nachname2;
        if (isset($this->Nachname3)) $o['Nachname3'] = $this->Nachname3;
        if (isset($this->Vorname1)) $o['Vorname1'] = $this->Vorname1;
        if (isset($this->Vorname2)) $o['Vorname2'] = $this->Vorname2;
        if (isset($this->Anmerkung)) $o['Anmerkung'] = $this->Anmerkung;
        if (isset($this->Anrede)) $o['Anrede'] = $this->Anrede;
        if (isset($this->Titel)) $o['Titel'] = $this->Titel;
        if (isset($this->PersonKommunikationen)) $o['PersonKommunikationen'] = JsonConverters::toArray('PersonCommunication', $this->PersonKommunikationen);
        return empty($o) ? new class(){} : $o;
    }
}

class Abrechnungseinheit implements JsonSerializable
{
    public function __construct(
        // @DataMember(Name="Guid")
        /** @var string */
        public string $Guid='',

        // @DataMember(Name="LastModified")
        /** @var DateTime|null */
        public ?DateTime $LastModified=null,

        // @DataMember(Name="Objektnummer")
        /** @var string|null */
        public ?string $Objektnummer=null,

        // @DataMember(Name="Notiz")
        /** @var string|null */
        public ?string $Notiz=null,

        // @DataMember(Name="NotizIntern")
        /** @var string|null */
        public ?string $NotizIntern=null,

        // @DataMember(Name="NotizLegionellen")
        /** @var string|null */
        public ?string $NotizLegionellen=null,

        // @DataMember(Name="Kunde")
        /** @var Customer|null */
        public ?Customer $Kunde=null,

        // @DataMember(Name="Adresse")
        /** @var Address|null */
        public ?Address $Adresse=null,

        // @DataMember(Name="BillingPeriodEnd")
        /** @var DateTime|null */
        public ?DateTime $BillingPeriodEnd=null,

        // @DataMember(Name="PersonAbrechnungseinheit")
        /** @var array<PersonAbrechnungseinheit>|null */
        public ?array $PersonAbrechnungseinheit=null,

        // @DataMember(Name="Persons")
        /** @var array<Person>|null */
        public ?array $Persons=null
    ) {
    }

    /** @throws Exception */
    public function fromMap($o): void {
        if (isset($o['Guid'])) $this->Guid = $o['Guid'];
        if (isset($o['LastModified'])) $this->LastModified = JsonConverters::from('DateTime', $o['LastModified']);
        if (isset($o['Objektnummer'])) $this->Objektnummer = $o['Objektnummer'];
        if (isset($o['Notiz'])) $this->Notiz = $o['Notiz'];
        if (isset($o['NotizIntern'])) $this->NotizIntern = $o['NotizIntern'];
        if (isset($o['NotizLegionellen'])) $this->NotizLegionellen = $o['NotizLegionellen'];
        if (isset($o['Kunde'])) $this->Kunde = JsonConverters::from('Customer', $o['Kunde']);
        if (isset($o['Adresse'])) $this->Adresse = JsonConverters::from('Address', $o['Adresse']);
        if (isset($o['BillingPeriodEnd'])) $this->BillingPeriodEnd = JsonConverters::from('DateTime', $o['BillingPeriodEnd']);
        if (isset($o['PersonAbrechnungseinheit'])) $this->PersonAbrechnungseinheit = JsonConverters::fromArray('PersonAbrechnungseinheit', $o['PersonAbrechnungseinheit']);
        if (isset($o['Persons'])) $this->Persons = JsonConverters::fromArray('Person', $o['Persons']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = [];
        if (isset($this->Guid)) $o['Guid'] = $this->Guid;
        if (isset($this->LastModified)) $o['LastModified'] = JsonConverters::to('DateTime', $this->LastModified);
        if (isset($this->Objektnummer)) $o['Objektnummer'] = $this->Objektnummer;
        if (isset($this->Notiz)) $o['Notiz'] = $this->Notiz;
        if (isset($this->NotizIntern)) $o['NotizIntern'] = $this->NotizIntern;
        if (isset($this->NotizLegionellen)) $o['NotizLegionellen'] = $this->NotizLegionellen;
        if (isset($this->Kunde)) $o['Kunde'] = JsonConverters::to('Customer', $this->Kunde);
        if (isset($this->Adresse)) $o['Adresse'] = JsonConverters::to('Address', $this->Adresse);
        if (isset($this->BillingPeriodEnd)) $o['BillingPeriodEnd'] = JsonConverters::to('DateTime', $this->BillingPeriodEnd);
        if (isset($this->PersonAbrechnungseinheit)) $o['PersonAbrechnungseinheit'] = JsonConverters::toArray('PersonAbrechnungseinheit', $this->PersonAbrechnungseinheit);
        if (isset($this->Persons)) $o['Persons'] = JsonConverters::toArray('Person', $this->Persons);
        return empty($o) ? new class(){} : $o;
    }
}

// @DataContract
class UpdateAbrechnungseinheit extends Eras2AppServiceModelBase implements JsonSerializable
{
    /**
     * @param string $UserId
     */
    public function __construct(
        string $UserId='',
        // @DataMember(Name="Abrechnungseinheit")
        /** @var Abrechnungseinheit|null */
        public ?Abrechnungseinheit $Abrechnungseinheit=null
    ) {
        parent::__construct($UserId);
    }

    /** @throws Exception */
    public function fromMap($o): void {
        parent::fromMap($o);
        if (isset($o['Abrechnungseinheit'])) $this->Abrechnungseinheit = JsonConverters::from('Abrechnungseinheit', $o['Abrechnungseinheit']);
    }
    
    /** @throws Exception */
    public function jsonSerialize(): mixed
    {
        $o = parent::jsonSerialize();
        if (isset($this->Abrechnungseinheit)) $o['Abrechnungseinheit'] = JsonConverters::to('Abrechnungseinheit', $this->Abrechnungseinheit);
        return empty($o) ? new class(){} : $o;
    }
}

PHP UpdateAbrechnungseinheit 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}/Abrechnungseinheit HTTP/1.1 
Host: heat-syke-servamw.eras-online.de 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<UpdateAbrechnungseinheit 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>
  <Abrechnungseinheit xmlns:d2p1="http://schemas.datacontract.org/2004/07/Eras2Amw.Service.Server.ServiceModel.Common">
    <d2p1:Address>
      <d2p1:Adresszusatz>String</d2p1:Adresszusatz>
      <d2p1:Breitengrad>0</d2p1:Breitengrad>
      <d2p1:Guid>00000000-0000-0000-0000-000000000000</d2p1:Guid>
      <d2p1:Hausnummer>String</d2p1:Hausnummer>
      <d2p1:Laengengrad>0</d2p1:Laengengrad>
      <d2p1:Ort>String</d2p1:Ort>
      <d2p1:Postfach>String</d2p1:Postfach>
      <d2p1:Postleitzahl>String</d2p1:Postleitzahl>
      <d2p1:Straße>String</d2p1:Straße>
      <d2p1:Straße2>String</d2p1:Straße2>
    </d2p1:Address>
    <d2p1:BilligPeriodEnd>0001-01-01T00:00:00</d2p1:BilligPeriodEnd>
    <d2p1:Customer>
      <d2p1:Anrede>String</d2p1:Anrede>
      <d2p1:Guid>00000000-0000-0000-0000-000000000000</d2p1:Guid>
      <d2p1:Kundennummer>String</d2p1:Kundennummer>
      <d2p1:Name>String</d2p1:Name>
      <d2p1:Name2>String</d2p1:Name2>
      <d2p1:Name3>String</d2p1:Name3>
      <d2p1:Notiz>String</d2p1:Notiz>
    </d2p1:Customer>
    <d2p1:Guid>00000000-0000-0000-0000-000000000000</d2p1:Guid>
    <d2p1:LastModified>0001-01-01T00:00:00</d2p1:LastModified>
    <d2p1:Note>String</d2p1:Note>
    <d2p1:NoteInternal>String</d2p1:NoteInternal>
    <d2p1:NoteLegionella>String</d2p1:NoteLegionella>
    <d2p1:Number>String</d2p1:Number>
    <d2p1:PersonAbrechnungseinheiten i:nil="true" />
    <d2p1:Persons i:nil="true" />
  </Abrechnungseinheit>
</UpdateAbrechnungseinheit>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<UpdateAbrechnungseinheitResponse 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>
</UpdateAbrechnungseinheitResponse>