| POST | /Stammdaten |
|---|
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';
class UpdateStammdatenResponse implements IConvertible
{
ResponseStatus? responseStatus;
UpdateStammdatenResponse({this.responseStatus});
UpdateStammdatenResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
return this;
}
Map<String, dynamic> toJson() => {
'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!)
};
getTypeName() => "UpdateStammdatenResponse";
TypeContext? context = _ctx;
}
// @DataContract
class StammdatenInfo implements IConvertible
{
// @DataMember(Name="Guid")
String? Guid;
// @DataMember(Name="Version")
String? Version;
// @DataMember(Name="Anmerkung")
String? Anmerkung;
StammdatenInfo({this.Guid,this.Version,this.Anmerkung});
StammdatenInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Guid = json['guid'];
Version = json['version'];
Anmerkung = json['note'];
return this;
}
Map<String, dynamic> toJson() => {
'guid': Guid,
'version': Version,
'anmerkung': Anmerkung
};
getTypeName() => "StammdatenInfo";
TypeContext? context = _ctx;
}
// @DataContract
class DeviceCatalog implements IConvertible
{
// @DataMember(Name="Guid")
String? Guid;
// @DataMember(Name="ArtikelName")
String? ArtikelName;
// @DataMember(Name="ArtikelNummer")
String? ArtikelNummer;
// @DataMember(Name="ArtikelBeschreibung")
String? ArtikelBeschreibung;
// @DataMember(Name="ArtikelnummerHersteller")
String? ArtikelnummerHersteller;
// @DataMember(Name="Kurzbezeichnung")
String? Kurzbezeichnung;
// @DataMember(Name="Abzug")
bool? Abzug;
// @DataMember(Name="Hkvv")
bool? Hkvv;
// @DataMember(Name="Funk")
bool? Funk;
// @DataMember(Name="Bestellnummer")
String? Bestellnummer;
// @DataMember(Name="Baulaenge")
String? Baulaenge;
// @DataMember(Name="Anschluss")
String? Anschluss;
// @DataMember(Name="Qn")
String? Qn;
// @DataMember(Name="SontexFunkID")
String? SontexFunkID;
// @DataMember(Name="SontexHKVKennung")
String? SontexHKVKennung;
// @DataMember(Name="Memo")
String? Memo;
// @DataMember(Name="DeviceKindGuid")
String? DeviceKindGuid;
// @DataMember(Name="ManufacturerGuid")
String? ManufacturerGuid;
DeviceCatalog({this.Guid,this.ArtikelName,this.ArtikelNummer,this.ArtikelBeschreibung,this.ArtikelnummerHersteller,this.Kurzbezeichnung,this.Abzug,this.Hkvv,this.Funk,this.Bestellnummer,this.Baulaenge,this.Anschluss,this.Qn,this.SontexFunkID,this.SontexHKVKennung,this.Memo,this.DeviceKindGuid,this.ManufacturerGuid});
DeviceCatalog.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Guid = json['guid'];
ArtikelName = json['articleName'];
ArtikelNummer = json['articleNumber'];
ArtikelBeschreibung = json['articleDescription'];
ArtikelnummerHersteller = json['articleNumberManufacturer'];
Kurzbezeichnung = json['label'];
Abzug = json['subtraction'];
Hkvv = json['hkvv'];
Funk = json['radio'];
Bestellnummer = json['orderCode'];
Baulaenge = json['installationLength'];
Anschluss = json['connector'];
Qn = json['diameter'];
SontexFunkID = json['sontexRadioIdentifier'];
SontexHKVKennung = json['sontexHkvIdentifier'];
Memo = json['note'];
DeviceKindGuid = json['deviceKindGuid'];
ManufacturerGuid = json['manufacturerGuid'];
return this;
}
Map<String, dynamic> toJson() => {
'guid': Guid,
'artikelName': ArtikelName,
'artikelNummer': ArtikelNummer,
'artikelBeschreibung': ArtikelBeschreibung,
'artikelnummerHersteller': ArtikelnummerHersteller,
'kurzbezeichnung': Kurzbezeichnung,
'abzug': Abzug,
'hkvv': Hkvv,
'funk': Funk,
'bestellnummer': Bestellnummer,
'baulaenge': Baulaenge,
'anschluss': Anschluss,
'qn': Qn,
'sontexFunkID': SontexFunkID,
'sontexHKVKennung': SontexHKVKennung,
'memo': Memo,
'deviceKindGuid': DeviceKindGuid,
'manufacturerGuid': ManufacturerGuid
};
getTypeName() => "DeviceCatalog";
TypeContext? context = _ctx;
}
// @DataContract
class Manufacturer implements IConvertible
{
// @DataMember(Name="Guid")
String? Guid;
// @DataMember(Name="Name")
String? Name;
// @DataMember(Name="Anmerkung")
String? Anmerkung;
Manufacturer({this.Guid,this.Name,this.Anmerkung});
Manufacturer.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Guid = json['guid'];
Name = json['name'];
Anmerkung = json['note'];
return this;
}
Map<String, dynamic> toJson() => {
'guid': Guid,
'name': Name,
'anmerkung': Anmerkung
};
getTypeName() => "Manufacturer";
TypeContext? context = _ctx;
}
enum DeviceClass
{
HKV,
WWZ,
KWZ,
WZ,
WMZ,
KMZ,
RM,
SZ,
FM,
Sonstige,
Null,
ENT,
}
// @DataContract
class DeviceKind implements IConvertible
{
// @DataMember(Name="Guid")
String? Guid;
// @DataMember(Name="GeraeteTypLang")
String? GeraeteTypLang;
// @DataMember(Name="GeraeteTypKurz")
String? GeraeteTypKurz;
// @DataMember(Name="Ablesbar")
bool? Ablesbar;
// @DataMember(Name="GeraeteKlasse")
DeviceClass? GeraeteKlasse;
// @DataMember(Name="Limit")
double? Limit;
DeviceKind({this.Guid,this.GeraeteTypLang,this.GeraeteTypKurz,this.Ablesbar,this.GeraeteKlasse,this.Limit});
DeviceKind.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Guid = json['guid'];
GeraeteTypLang = json['labelLong'];
GeraeteTypKurz = json['labelShort'];
Ablesbar = json['readable'];
GeraeteKlasse = JsonConverters.fromJson(json['class'],'DeviceClass',context!);
Limit = JsonConverters.toDouble(json['limit']);
return this;
}
Map<String, dynamic> toJson() => {
'guid': Guid,
'geraeteTypLang': GeraeteTypLang,
'geraeteTypKurz': GeraeteTypKurz,
'ablesbar': Ablesbar,
'geraeteKlasse': JsonConverters.toJson(GeraeteKlasse,'DeviceClass',context!),
'limit': Limit
};
getTypeName() => "DeviceKind";
TypeContext? context = _ctx;
}
// @DataContract
class Article implements IConvertible
{
// @DataMember(Name="Guid")
String? Guid;
// @DataMember(Name="Artikelnummer")
String? Artikelnummer;
// @DataMember(Name="Bezeichnung")
String? Bezeichnung;
// @DataMember(Name="Anmerkung")
String? Anmerkung;
Article({this.Guid,this.Artikelnummer,this.Bezeichnung,this.Anmerkung});
Article.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Guid = json['guid'];
Artikelnummer = json['number'];
Bezeichnung = json['label'];
Anmerkung = json['note'];
return this;
}
Map<String, dynamic> toJson() => {
'guid': Guid,
'artikelnummer': Artikelnummer,
'bezeichnung': Bezeichnung,
'anmerkung': Anmerkung
};
getTypeName() => "Article";
TypeContext? context = _ctx;
}
enum CommunicationKind
{
Telefon,
Mobil,
Fax,
EMail,
Web,
}
// @DataContract
class CommunicationFeature implements IConvertible
{
// @DataMember(Name="Guid")
String? Guid;
// @DataMember(Name="Funktion")
String? Funktion;
// @DataMember(Name="Typ")
CommunicationKind? Typ;
// @DataMember(Name="IstVorgegeben")
bool? IstVorgegeben;
// @DataMember(Name="Anmerkung")
String? Anmerkung;
CommunicationFeature({this.Guid,this.Funktion,this.Typ,this.IstVorgegeben,this.Anmerkung});
CommunicationFeature.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Guid = json['guid'];
Funktion = json['feature'];
Typ = JsonConverters.fromJson(json['kind'],'CommunicationKind',context!);
IstVorgegeben = json['isPreset'];
Anmerkung = json['note'];
return this;
}
Map<String, dynamic> toJson() => {
'guid': Guid,
'funktion': Funktion,
'typ': JsonConverters.toJson(Typ,'CommunicationKind',context!),
'istVorgegeben': IstVorgegeben,
'anmerkung': Anmerkung
};
getTypeName() => "CommunicationFeature";
TypeContext? context = _ctx;
}
// @DataContract
class ReadingKind implements IConvertible
{
// @DataMember(Name="Guid")
String? Guid;
// @DataMember(Name="Kurzbezeichnung")
String? Kurzbezeichnung;
// @DataMember(Name="Langbezeichnung")
String? Langbezeichnung;
ReadingKind({this.Guid,this.Kurzbezeichnung,this.Langbezeichnung});
ReadingKind.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Guid = json['guid'];
Kurzbezeichnung = json['labelShort'];
Langbezeichnung = json['labelLong'];
return this;
}
Map<String, dynamic> toJson() => {
'guid': Guid,
'kurzbezeichnung': Kurzbezeichnung,
'langbezeichnung': Langbezeichnung
};
getTypeName() => "ReadingKind";
TypeContext? context = _ctx;
}
// @DataContract
class AmwInfoKey implements IConvertible
{
// @DataMember(Name="Guid")
String? Guid;
// @DataMember(Name="Key")
int? Key;
// @DataMember(Name="Info")
String? Info;
AmwInfoKey({this.Guid,this.Key,this.Info});
AmwInfoKey.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Guid = json['guid'];
Key = json['key'];
Info = json['info'];
return this;
}
Map<String, dynamic> toJson() => {
'guid': Guid,
'key': Key,
'info': Info
};
getTypeName() => "AmwInfoKey";
TypeContext? context = _ctx;
}
// @DataContract
class AdditionalArticle implements IConvertible
{
// @DataMember(Name="Guid")
String? Guid;
// @DataMember(Name="Nummer")
String? Nummer;
// @DataMember(Name="Bezeichnung")
String? Bezeichnung;
// @DataMember(Name="Anmerkung")
String? Anmerkung;
AdditionalArticle({this.Guid,this.Nummer,this.Bezeichnung,this.Anmerkung});
AdditionalArticle.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Guid = json['guid'];
Nummer = json['number'];
Bezeichnung = json['label'];
Anmerkung = json['note'];
return this;
}
Map<String, dynamic> toJson() => {
'guid': Guid,
'nummer': Nummer,
'bezeichnung': Bezeichnung,
'anmerkung': Anmerkung
};
getTypeName() => "AdditionalArticle";
TypeContext? context = _ctx;
}
// @DataContract
class Room implements IConvertible
{
// @DataMember(Name="Guid")
String? Guid;
// @DataMember(Name="Kurzbezeichnung")
String? Kurzbezeichnung;
// @DataMember(Name="Bezeichnung")
String? Bezeichnung;
Room({this.Guid,this.Kurzbezeichnung,this.Bezeichnung});
Room.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Guid = json['guid'];
Kurzbezeichnung = json['labelShort'];
Bezeichnung = json['label'];
return this;
}
Map<String, dynamic> toJson() => {
'guid': Guid,
'kurzbezeichnung': Kurzbezeichnung,
'bezeichnung': Bezeichnung
};
getTypeName() => "Room";
TypeContext? context = _ctx;
}
// @DataContract
class UpdateStammdaten implements IConvertible
{
// @DataMember(Name="StammdatenInfo")
StammdatenInfo? StammdatenInfo;
// @DataMember(Name="GeraeteKatalog")
List<DeviceCatalog>? GeraeteKatalog;
// @DataMember(Name="Hersteller")
List<Manufacturer>? Hersteller;
// @DataMember(Name="Geraetetypen")
List<DeviceKind>? Geraetetypen;
// @DataMember(Name="Artikel")
List<Article>? Artikel;
// @DataMember(Name="KommunikationFunktionen")
List<CommunicationFeature>? KommunikationFunktionen;
// @DataMember(Name="Ablesearten")
List<ReadingKind>? Ablesearten;
// @DataMember(Name="Infoschluessel")
List<AmwInfoKey>? Infoschluessel;
// @DataMember(Name="Zusatzartikel")
List<AdditionalArticle>? Zusatzartikel;
// @DataMember(Name="Raeume")
List<Room>? Raeume;
UpdateStammdaten({this.StammdatenInfo,this.GeraeteKatalog,this.Hersteller,this.Geraetetypen,this.Artikel,this.KommunikationFunktionen,this.Ablesearten,this.Infoschluessel,this.Zusatzartikel,this.Raeume});
UpdateStammdaten.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
StammdatenInfo = JsonConverters.fromJson(json['stammdatenInfo'],'StammdatenInfo',context!);
GeraeteKatalog = JsonConverters.fromJson(json['deviceCatalog'],'List<DeviceCatalog>',context!);
Hersteller = JsonConverters.fromJson(json['manufacturers'],'List<Manufacturer>',context!);
Geraetetypen = JsonConverters.fromJson(json['deviceKinds'],'List<DeviceKind>',context!);
Artikel = JsonConverters.fromJson(json['articles'],'List<Article>',context!);
KommunikationFunktionen = JsonConverters.fromJson(json['communicationFeatures'],'List<CommunicationFeature>',context!);
Ablesearten = JsonConverters.fromJson(json['readingKinds'],'List<ReadingKind>',context!);
Infoschluessel = JsonConverters.fromJson(json['amwInfoKeys'],'List<AmwInfoKey>',context!);
Zusatzartikel = JsonConverters.fromJson(json['additionalArticles'],'List<AdditionalArticle>',context!);
Raeume = JsonConverters.fromJson(json['rooms'],'List<Room>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'stammdatenInfo': JsonConverters.toJson(StammdatenInfo,'StammdatenInfo',context!),
'geraeteKatalog': JsonConverters.toJson(GeraeteKatalog,'List<DeviceCatalog>',context!),
'hersteller': JsonConverters.toJson(Hersteller,'List<Manufacturer>',context!),
'geraetetypen': JsonConverters.toJson(Geraetetypen,'List<DeviceKind>',context!),
'artikel': JsonConverters.toJson(Artikel,'List<Article>',context!),
'kommunikationFunktionen': JsonConverters.toJson(KommunikationFunktionen,'List<CommunicationFeature>',context!),
'ablesearten': JsonConverters.toJson(Ablesearten,'List<ReadingKind>',context!),
'infoschluessel': JsonConverters.toJson(Infoschluessel,'List<AmwInfoKey>',context!),
'zusatzartikel': JsonConverters.toJson(Zusatzartikel,'List<AdditionalArticle>',context!),
'raeume': JsonConverters.toJson(Raeume,'List<Room>',context!)
};
getTypeName() => "UpdateStammdaten";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'calotec_portal_servamw.eras_online.de', types: <String, TypeInfo> {
'UpdateStammdatenResponse': TypeInfo(TypeOf.Class, create:() => UpdateStammdatenResponse()),
'StammdatenInfo': TypeInfo(TypeOf.Class, create:() => StammdatenInfo()),
'DeviceCatalog': TypeInfo(TypeOf.Class, create:() => DeviceCatalog()),
'Manufacturer': TypeInfo(TypeOf.Class, create:() => Manufacturer()),
'DeviceClass': TypeInfo(TypeOf.Enum, enumValues:DeviceClass.values),
'DeviceKind': TypeInfo(TypeOf.Class, create:() => DeviceKind()),
'Article': TypeInfo(TypeOf.Class, create:() => Article()),
'CommunicationKind': TypeInfo(TypeOf.Enum, enumValues:CommunicationKind.values),
'CommunicationFeature': TypeInfo(TypeOf.Class, create:() => CommunicationFeature()),
'ReadingKind': TypeInfo(TypeOf.Class, create:() => ReadingKind()),
'AmwInfoKey': TypeInfo(TypeOf.Class, create:() => AmwInfoKey()),
'AdditionalArticle': TypeInfo(TypeOf.Class, create:() => AdditionalArticle()),
'Room': TypeInfo(TypeOf.Class, create:() => Room()),
'UpdateStammdaten': TypeInfo(TypeOf.Class, create:() => UpdateStammdaten()),
'List<DeviceCatalog>': TypeInfo(TypeOf.Class, create:() => <DeviceCatalog>[]),
'List<Manufacturer>': TypeInfo(TypeOf.Class, create:() => <Manufacturer>[]),
'List<DeviceKind>': TypeInfo(TypeOf.Class, create:() => <DeviceKind>[]),
'List<Article>': TypeInfo(TypeOf.Class, create:() => <Article>[]),
'List<CommunicationFeature>': TypeInfo(TypeOf.Class, create:() => <CommunicationFeature>[]),
'List<ReadingKind>': TypeInfo(TypeOf.Class, create:() => <ReadingKind>[]),
'List<AmwInfoKey>': TypeInfo(TypeOf.Class, create:() => <AmwInfoKey>[]),
'List<AdditionalArticle>': TypeInfo(TypeOf.Class, create:() => <AdditionalArticle>[]),
'List<Room>': TypeInfo(TypeOf.Class, create:() => <Room>[]),
});
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /Stammdaten HTTP/1.1
Host: calotec-portal-servamw.eras-online.de
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"StammdatenInfo":{"Guid":"00000000000000000000000000000000","Version":"String","Anmerkung":"String"}}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length
{"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}