Server

<back to all web services

GetNebenkosten

Nebenkosten
Requires Authentication
The following routes are available for this service:
GET/api/v1/nebenkosten/{Guid}
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';

enum NebenkostenTargetAllocation
{
    Null,
    AlleNutzer,
    ZugeordneteNutzer,
    ZugeordneteNutzeinheiten,
    ZugeordneteNutzerDiff,
    ZugeordneteNutzeinheitenDiff,
}

enum NebenkostenTargetAllocationIn
{
    Nebenkosten,
    Heizkosten,
    Warmwasserkosten,
}

// @DataContract
class NebenkostenNutzeinheit implements IConvertible
{
    // @DataMember
    double? relativeAmount;

    // @DataMember
    bool? isDeleted;

    // @DataMember
    bool? isCreatedByApp;

    // @DataMember
    String? nutzeinheitGuid;

    NebenkostenNutzeinheit({this.relativeAmount,this.isDeleted,this.isCreatedByApp,this.nutzeinheitGuid});
    NebenkostenNutzeinheit.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        relativeAmount = JsonConverters.toDouble(json['relativeAmount']);
        isDeleted = json['isDeleted'];
        isCreatedByApp = json['isCreatedByApp'];
        nutzeinheitGuid = json['nutzeinheitGuid'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'relativeAmount': relativeAmount,
        'isDeleted': isDeleted,
        'isCreatedByApp': isCreatedByApp,
        'nutzeinheitGuid': nutzeinheitGuid
    };

    getTypeName() => "NebenkostenNutzeinheit";
    TypeContext? context = _ctx;
}

// @DataContract
class NebenkostenNutzer implements IConvertible
{
    // @DataMember
    double? relativeAmount;

    // @DataMember
    bool? isDeleted;

    // @DataMember
    bool? isCreatedByApp;

    // @DataMember
    String? nutzerGuid;

    NebenkostenNutzer({this.relativeAmount,this.isDeleted,this.isCreatedByApp,this.nutzerGuid});
    NebenkostenNutzer.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        relativeAmount = JsonConverters.toDouble(json['relativeAmount']);
        isDeleted = json['isDeleted'];
        isCreatedByApp = json['isCreatedByApp'];
        nutzerGuid = json['nutzerGuid'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'relativeAmount': relativeAmount,
        'isDeleted': isDeleted,
        'isCreatedByApp': isCreatedByApp,
        'nutzerGuid': nutzerGuid
    };

    getTypeName() => "NebenkostenNutzer";
    TypeContext? context = _ctx;
}

// @DataContract
class BillingInformation implements IConvertible
{
    // @DataMember
    String? guid;

    // @DataMember
    DateTime? from;

    // @DataMember
    DateTime? to;

    // @DataMember
    bool? isCompleted;

    // @DataMember
    bool? hasNebenkosten;

    BillingInformation({this.guid,this.from,this.to,this.isCompleted,this.hasNebenkosten});
    BillingInformation.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        guid = json['guid'];
        from = JsonConverters.fromJson(json['from'],'DateTime',context!);
        to = JsonConverters.fromJson(json['to'],'DateTime',context!);
        isCompleted = json['isCompleted'];
        hasNebenkosten = json['hasNebenkosten'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'guid': guid,
        'from': JsonConverters.toJson(from,'DateTime',context!),
        'to': JsonConverters.toJson(to,'DateTime',context!),
        'isCompleted': isCompleted,
        'hasNebenkosten': hasNebenkosten
    };

    getTypeName() => "BillingInformation";
    TypeContext? context = _ctx;
}

// @DataContract
class Nebenkosten implements IConvertible
{
    // @DataMember
    String? guid;

    // @DataMember
    int? number;

    // @DataMember
    DateTime? from;

    // @DataMember
    DateTime? to;

    // @DataMember
    NebenkostenTargetAllocation? targetAllocation;

    // @DataMember
    NebenkostenTargetAllocationIn? targetAllocationIn;

    // @DataMember
    String? nebenkostenKind;

    /**
    * Freitext
    */
    // @DataMember
    // @ApiMember(Description="Freitext")
    String? kostenart;

    // @DataMember
    double? brutto;

    // @DataMember
    double? bruttoLastYear;

    // @DataMember
    double? salesTax;

    // @DataMember
    String? haushaltsnahediensteLabel;

    // @DataMember
    double? haushaltsnahediensteBrutto;

    /**
    * Freitext
    */
    // @DataMember
    // @ApiMember(Description="Freitext")
    String? kostenartUnit;

    // @DataMember
    String? reduzierungsartType;

    // @DataMember
    String? comment;

    // @DataMember
    bool? isDeleted;

    // @DataMember
    bool? isCreatedByApp;

    // @DataMember
    List<NebenkostenNutzeinheit>? nebenkostenNutzeinheiten;

    // @DataMember
    List<NebenkostenNutzer>? nebenkostenNutzer;

    // @DataMember
    BillingInformation? billingInformation;

    Nebenkosten({this.guid,this.number,this.from,this.to,this.targetAllocation,this.targetAllocationIn,this.nebenkostenKind,this.kostenart,this.brutto,this.bruttoLastYear,this.salesTax,this.haushaltsnahediensteLabel,this.haushaltsnahediensteBrutto,this.kostenartUnit,this.reduzierungsartType,this.comment,this.isDeleted,this.isCreatedByApp,this.nebenkostenNutzeinheiten,this.nebenkostenNutzer,this.billingInformation});
    Nebenkosten.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        guid = json['guid'];
        number = json['number'];
        from = JsonConverters.fromJson(json['from'],'DateTime',context!);
        to = JsonConverters.fromJson(json['to'],'DateTime',context!);
        targetAllocation = JsonConverters.fromJson(json['targetAllocation'],'NebenkostenTargetAllocation',context!);
        targetAllocationIn = JsonConverters.fromJson(json['targetAllocationIn'],'NebenkostenTargetAllocationIn',context!);
        nebenkostenKind = json['nebenkostenKind'];
        kostenart = json['kostenart'];
        brutto = JsonConverters.toDouble(json['brutto']);
        bruttoLastYear = JsonConverters.toDouble(json['bruttoLastYear']);
        salesTax = JsonConverters.toDouble(json['salesTax']);
        haushaltsnahediensteLabel = json['haushaltsnahediensteLabel'];
        haushaltsnahediensteBrutto = JsonConverters.toDouble(json['haushaltsnahediensteBrutto']);
        kostenartUnit = json['kostenartUnit'];
        reduzierungsartType = json['reduzierungsartType'];
        comment = json['comment'];
        isDeleted = json['isDeleted'];
        isCreatedByApp = json['isCreatedByApp'];
        nebenkostenNutzeinheiten = JsonConverters.fromJson(json['nebenkostenNutzeinheiten'],'List<NebenkostenNutzeinheit>',context!);
        nebenkostenNutzer = JsonConverters.fromJson(json['nebenkostenNutzer'],'List<NebenkostenNutzer>',context!);
        billingInformation = JsonConverters.fromJson(json['billingInformation'],'BillingInformation',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'guid': guid,
        'number': number,
        'from': JsonConverters.toJson(from,'DateTime',context!),
        'to': JsonConverters.toJson(to,'DateTime',context!),
        'targetAllocation': JsonConverters.toJson(targetAllocation,'NebenkostenTargetAllocation',context!),
        'targetAllocationIn': JsonConverters.toJson(targetAllocationIn,'NebenkostenTargetAllocationIn',context!),
        'nebenkostenKind': nebenkostenKind,
        'kostenart': kostenart,
        'brutto': brutto,
        'bruttoLastYear': bruttoLastYear,
        'salesTax': salesTax,
        'haushaltsnahediensteLabel': haushaltsnahediensteLabel,
        'haushaltsnahediensteBrutto': haushaltsnahediensteBrutto,
        'kostenartUnit': kostenartUnit,
        'reduzierungsartType': reduzierungsartType,
        'comment': comment,
        'isDeleted': isDeleted,
        'isCreatedByApp': isCreatedByApp,
        'nebenkostenNutzeinheiten': JsonConverters.toJson(nebenkostenNutzeinheiten,'List<NebenkostenNutzeinheit>',context!),
        'nebenkostenNutzer': JsonConverters.toJson(nebenkostenNutzer,'List<NebenkostenNutzer>',context!),
        'billingInformation': JsonConverters.toJson(billingInformation,'BillingInformation',context!)
    };

    getTypeName() => "Nebenkosten";
    TypeContext? context = _ctx;
}

class GetNebenkostenResponse implements IConvertible
{
    Nebenkosten? nebenkosten;
    ResponseStatus? responseStatus;

    GetNebenkostenResponse({this.nebenkosten,this.responseStatus});
    GetNebenkostenResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        nebenkosten = JsonConverters.fromJson(json['nebenkosten'],'Nebenkosten',context!);
        responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'nebenkosten': JsonConverters.toJson(nebenkosten,'Nebenkosten',context!),
        'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!)
    };

    getTypeName() => "GetNebenkostenResponse";
    TypeContext? context = _ctx;
}

class GetNebenkosten implements IHasBearerToken, IConvertible
{
    // @ApiMember(IsRequired=true, ParameterType="query")
    String? bearerToken;

    // @ApiMember(IsRequired=true, ParameterType="path")
    String? guid;

    GetNebenkosten({this.bearerToken,this.guid});
    GetNebenkosten.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        bearerToken = json['bearerToken'];
        guid = json['guid'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'bearerToken': bearerToken,
        'guid': guid
    };

    getTypeName() => "GetNebenkosten";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'messtechnik_horb_servdesk.eras_online.de', types: <String, TypeInfo> {
    'NebenkostenTargetAllocation': TypeInfo(TypeOf.Enum, enumValues:NebenkostenTargetAllocation.values),
    'NebenkostenTargetAllocationIn': TypeInfo(TypeOf.Enum, enumValues:NebenkostenTargetAllocationIn.values),
    'NebenkostenNutzeinheit': TypeInfo(TypeOf.Class, create:() => NebenkostenNutzeinheit()),
    'NebenkostenNutzer': TypeInfo(TypeOf.Class, create:() => NebenkostenNutzer()),
    'BillingInformation': TypeInfo(TypeOf.Class, create:() => BillingInformation()),
    'Nebenkosten': TypeInfo(TypeOf.Class, create:() => Nebenkosten()),
    'List<NebenkostenNutzeinheit>': TypeInfo(TypeOf.Class, create:() => <NebenkostenNutzeinheit>[]),
    'List<NebenkostenNutzer>': TypeInfo(TypeOf.Class, create:() => <NebenkostenNutzer>[]),
    'GetNebenkostenResponse': TypeInfo(TypeOf.Class, create:() => GetNebenkostenResponse()),
    'GetNebenkosten': TypeInfo(TypeOf.Class, create:() => GetNebenkosten()),
});

Dart GetNebenkosten 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.

GET /api/v1/nebenkosten/{Guid} HTTP/1.1 
Host: messtechnik-horb-servdesk.eras-online.de 
Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<GetNebenkostenResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Eras2Web.Service.Desktop.Server.ServiceModel.Eras2WebExt.Get">
  <Nebenkosten xmlns:d2p1="http://schemas.datacontract.org/2004/07/Eras2Web.Service.Desktop.Server.ServiceModel.Eras2WebExt.Models">
    <d2p1:BillingInformation>
      <d2p1:From>0001-01-01T00:00:00</d2p1:From>
      <d2p1:Guid>String</d2p1:Guid>
      <d2p1:HasNebenkosten>false</d2p1:HasNebenkosten>
      <d2p1:IsCompleted>false</d2p1:IsCompleted>
      <d2p1:To>0001-01-01T00:00:00</d2p1:To>
    </d2p1:BillingInformation>
    <d2p1:Brutto>0</d2p1:Brutto>
    <d2p1:BruttoLastYear>0</d2p1:BruttoLastYear>
    <d2p1:Comment>String</d2p1:Comment>
    <d2p1:From>0001-01-01T00:00:00</d2p1:From>
    <d2p1:Guid>00000000-0000-0000-0000-000000000000</d2p1:Guid>
    <d2p1:HaushaltsnahediensteBrutto>0</d2p1:HaushaltsnahediensteBrutto>
    <d2p1:HaushaltsnahediensteLabel>String</d2p1:HaushaltsnahediensteLabel>
    <d2p1:IsCreatedByApp>false</d2p1:IsCreatedByApp>
    <d2p1:IsDeleted>false</d2p1:IsDeleted>
    <d2p1:Kostenart>String</d2p1:Kostenart>
    <d2p1:KostenartUnit>String</d2p1:KostenartUnit>
    <d2p1:NebenkostenKind>String</d2p1:NebenkostenKind>
    <d2p1:NebenkostenNutzeinheiten>
      <d2p1:NebenkostenNutzeinheit>
        <d2p1:IsCreatedByApp>false</d2p1:IsCreatedByApp>
        <d2p1:IsDeleted>false</d2p1:IsDeleted>
        <d2p1:NutzeinheitGuid>00000000-0000-0000-0000-000000000000</d2p1:NutzeinheitGuid>
        <d2p1:RelativeAmount>0</d2p1:RelativeAmount>
      </d2p1:NebenkostenNutzeinheit>
    </d2p1:NebenkostenNutzeinheiten>
    <d2p1:NebenkostenNutzer>
      <d2p1:NebenkostenNutzer>
        <d2p1:IsCreatedByApp>false</d2p1:IsCreatedByApp>
        <d2p1:IsDeleted>false</d2p1:IsDeleted>
        <d2p1:NutzerGuid>00000000-0000-0000-0000-000000000000</d2p1:NutzerGuid>
        <d2p1:RelativeAmount>0</d2p1:RelativeAmount>
      </d2p1:NebenkostenNutzer>
    </d2p1:NebenkostenNutzer>
    <d2p1:Number>0</d2p1:Number>
    <d2p1:ReduzierungsartType>String</d2p1:ReduzierungsartType>
    <d2p1:SalesTax>0</d2p1:SalesTax>
    <d2p1:TargetAllocation>Null</d2p1:TargetAllocation>
    <d2p1:TargetAllocationIn>Nebenkosten</d2p1:TargetAllocationIn>
    <d2p1:To>0001-01-01T00:00:00</d2p1:To>
  </Nebenkosten>
  <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>
</GetNebenkostenResponse>