Server

<back to all web services

UpdateStammdaten

Requires Authentication
The following routes are available for this service:
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: 'imm_con_gmbh_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>[]),
});

Dart UpdateStammdaten 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 /Stammdaten HTTP/1.1 
Host: imm-con-gmbh-servamw.eras-online.de 
Accept: text/jsonl
Content-Type: text/jsonl
Content-Length: length

{"StammdatenInfo":{"Guid":"00000000000000000000000000000000","Version":"String","Anmerkung":"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"}}}