| 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: 'fairtherm_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()),
});
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.
GET /api/v1/nebenkosten/{Guid} HTTP/1.1
Host: fairtherm-servdesk.eras-online.de
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
nebenkosten:
{
guid: 00000000000000000000000000000000,
number: 0,
from: 0001-01-01T00:00:00Z,
to: 0001-01-01T00:00:00Z,
targetAllocation: Null,
targetAllocationIn: Nebenkosten,
nebenkostenKind: String,
kostenart: String,
brutto: 0,
bruttoLastYear: 0,
salesTax: 0,
haushaltsnahediensteLabel: String,
haushaltsnahediensteBrutto: 0,
kostenartUnit: String,
reduzierungsartType: String,
comment: String,
isDeleted: False,
isCreatedByApp: False,
nebenkostenNutzeinheiten:
[
{
relativeAmount: 0,
isDeleted: False,
isCreatedByApp: False,
nutzeinheitGuid: 00000000000000000000000000000000
}
],
nebenkostenNutzer:
[
{
relativeAmount: 0,
isDeleted: False,
isCreatedByApp: False,
nutzerGuid: 00000000000000000000000000000000
}
],
billingInformation:
{
guid: String,
from: 0001-01-01T00:00:00Z,
to: 0001-01-01T00:00:00Z,
isCompleted: False,
hasNebenkosten: False
}
},
responseStatus:
{
errorCode: String,
message: String,
stackTrace: String,
errors:
[
{
errorCode: String,
fieldName: String,
message: String,
meta:
{
String: String
}
}
],
meta:
{
String: String
}
}
}