Server

<back to all web services

PostDeviceConsumption

Deviceconsumptions
Requires Authentication
The following routes are available for this service:
POST/api/v1/deviceconsumptions
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';

class PostDeviceConsumptionResponse implements IConvertible
{
    ResponseStatus? responseStatus;
    String? checksumMD5;

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

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

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

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

enum DeviceReadingKind
{
    ZA,
    HA,
    MO,
    EB,
    AB,
}

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

    // @DataMember
    double? deviceReading;

    // @DataMember
    DateTime? deviceReadingDate;

    // @DataMember
    DeviceReadingKind? deviceReadingKind;

    // @DataMember
    DateTime? changeDate;

    // @DataMember
    String? note;

    // @DataMember
    String? ampouleColour;

    // @DataMember
    String? deviceGuid;

    DeviceConsumption({this.guid,this.deviceReading,this.deviceReadingDate,this.deviceReadingKind,this.changeDate,this.note,this.ampouleColour,this.deviceGuid});
    DeviceConsumption.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        guid = json['guid'];
        deviceReading = JsonConverters.toDouble(json['deviceReading']);
        deviceReadingDate = JsonConverters.fromJson(json['deviceReadingDate'],'DateTime',context!);
        deviceReadingKind = JsonConverters.fromJson(json['deviceReadingKind'],'DeviceReadingKind',context!);
        changeDate = JsonConverters.fromJson(json['changeDate'],'DateTime',context!);
        note = json['note'];
        ampouleColour = json['ampouleColour'];
        deviceGuid = json['deviceGuid'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'guid': guid,
        'deviceReading': deviceReading,
        'deviceReadingDate': JsonConverters.toJson(deviceReadingDate,'DateTime',context!),
        'deviceReadingKind': JsonConverters.toJson(deviceReadingKind,'DeviceReadingKind',context!),
        'changeDate': JsonConverters.toJson(changeDate,'DateTime',context!),
        'note': note,
        'ampouleColour': ampouleColour,
        'deviceGuid': deviceGuid
    };

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

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

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

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

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

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

class PostDeviceConsumption implements IHasBearerToken, IConvertible
{
    // @ApiMember(IsRequired=true, ParameterType="body")
    DeviceConsumption? deviceConsumption;

    // @ApiMember(IsRequired=true, ParameterType="body")
    RelatedTo? relatedToDevice;

    // @ApiMember(IsRequired=true, ParameterType="body")
    String? bearerToken;

    PostDeviceConsumption({this.deviceConsumption,this.relatedToDevice,this.bearerToken});
    PostDeviceConsumption.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        deviceConsumption = JsonConverters.fromJson(json['deviceConsumption'],'DeviceConsumption',context!);
        relatedToDevice = JsonConverters.fromJson(json['relatedToDevice'],'RelatedTo',context!);
        bearerToken = json['bearerToken'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'deviceConsumption': JsonConverters.toJson(deviceConsumption,'DeviceConsumption',context!),
        'relatedToDevice': JsonConverters.toJson(relatedToDevice,'RelatedTo',context!),
        'bearerToken': bearerToken
    };

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

TypeContext _ctx = TypeContext(library: 'kromer_servdesk.eras_online.de', types: <String, TypeInfo> {
    'PostDeviceConsumptionResponse': TypeInfo(TypeOf.Class, create:() => PostDeviceConsumptionResponse()),
    'DeviceReadingKind': TypeInfo(TypeOf.Enum, enumValues:DeviceReadingKind.values),
    'DeviceConsumption': TypeInfo(TypeOf.Class, create:() => DeviceConsumption()),
    'RelatedTo': TypeInfo(TypeOf.Class, create:() => RelatedTo()),
    'PostDeviceConsumption': TypeInfo(TypeOf.Class, create:() => PostDeviceConsumption()),
});

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

POST /api/v1/deviceconsumptions HTTP/1.1 
Host: kromer-servdesk.eras-online.de 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<PostDeviceConsumption xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Eras2Web.Service.Desktop.Server.ServiceModel.Eras2WebExt.Post">
  <BearerToken>String</BearerToken>
  <DeviceConsumption xmlns:d2p1="http://schemas.datacontract.org/2004/07/Eras2Web.Service.Desktop.Server.ServiceModel.Eras2WebExt.Models">
    <d2p1:AmpouleColour>String</d2p1:AmpouleColour>
    <d2p1:ChangeDate>0001-01-01T00:00:00</d2p1:ChangeDate>
    <d2p1:DeviceGuid>String</d2p1:DeviceGuid>
    <d2p1:DeviceReading>0</d2p1:DeviceReading>
    <d2p1:DeviceReadingDate>0001-01-01T00:00:00</d2p1:DeviceReadingDate>
    <d2p1:DeviceReadingKind>ZA</d2p1:DeviceReadingKind>
    <d2p1:Guid>00000000-0000-0000-0000-000000000000</d2p1:Guid>
    <d2p1:Note>String</d2p1:Note>
  </DeviceConsumption>
  <RelatedToDevice xmlns:d2p1="http://schemas.datacontract.org/2004/07/Eras2Web.Service.Desktop.Server.ServiceModel.Eras2WebExt.Models">
    <d2p1:Guid>00000000-0000-0000-0000-000000000000</d2p1:Guid>
  </RelatedToDevice>
</PostDeviceConsumption>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<PostDeviceConsumptionResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Eras2Web.Service.Desktop.Server.ServiceModel.Eras2WebExt.Post">
  <ChecksumMD5>String</ChecksumMD5>
  <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>
</PostDeviceConsumptionResponse>