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

HTTP + JSV

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: calotec-portal-servdesk.eras-online.de 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	deviceConsumption: 
	{
		guid: 00000000000000000000000000000000,
		deviceReading: 0,
		deviceReadingDate: 0001-01-01T00:00:00Z,
		deviceReadingKind: ZA,
		changeDate: 0001-01-01T00:00:00Z,
		note: String,
		ampouleColour: String,
		deviceGuid: String
	},
	relatedToDevice: 
	{
		guid: 00000000000000000000000000000000
	},
	bearerToken: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
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
}