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: 'hbr_regional_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 .other suffix or ?format=other

HTTP + OTHER

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: hbr-regional-servdesk.eras-online.de 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{"deviceConsumption":{"guid":"00000000000000000000000000000000","deviceReading":0,"deviceReadingDate":"0001-01-01T00:00:00.0000000Z","deviceReadingKind":"ZA","changeDate":"0001-01-01T00:00:00.0000000Z","note":"String","ampouleColour":"String","deviceGuid":"String"},"relatedToDevice":{"guid":"00000000000000000000000000000000"},"bearerToken":"String"}
HTTP/1.1 200 OK
Content-Type: text/jsonl
Content-Length: length

{"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}},"checksumMD5":"String"}