DigiOffice Gateway Web Services

<back to all web services

GetRegistrationProfileDetailsFromEmailDraft

Requires Authentication
import 'package:servicestack/servicestack.dart';

class Registrationprofile implements IConvertible
{
    String? ID;
    String? Name;
    String? Hint;
    int? Order;
    bool? RegisterAutomatically;
    bool? RegisterInBackground;
    String? ThumbnailUrl;
    String? ProgCode;
    int? VersionControlType;
    int? WOPlaceLogo;
    String? WOPrinterBins;
    bool? SelectAllFiles;

    Registrationprofile({this.ID,this.Name,this.Hint,this.Order,this.RegisterAutomatically,this.RegisterInBackground,this.ThumbnailUrl,this.ProgCode,this.VersionControlType,this.WOPlaceLogo,this.WOPrinterBins,this.SelectAllFiles});
    Registrationprofile.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ID = json['ID'];
        Name = json['Name'];
        Hint = json['Hint'];
        Order = json['Order'];
        RegisterAutomatically = json['RegisterAutomatically'];
        RegisterInBackground = json['RegisterInBackground'];
        ThumbnailUrl = json['ThumbnailUrl'];
        ProgCode = json['ProgCode'];
        VersionControlType = json['VersionControlType'];
        WOPlaceLogo = json['WOPlaceLogo'];
        WOPrinterBins = json['WOPrinterBins'];
        SelectAllFiles = json['SelectAllFiles'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ID': ID,
        'Name': Name,
        'Hint': Hint,
        'Order': Order,
        'RegisterAutomatically': RegisterAutomatically,
        'RegisterInBackground': RegisterInBackground,
        'ThumbnailUrl': ThumbnailUrl,
        'ProgCode': ProgCode,
        'VersionControlType': VersionControlType,
        'WOPlaceLogo': WOPlaceLogo,
        'WOPrinterBins': WOPrinterBins,
        'SelectAllFiles': SelectAllFiles
    };

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

enum RegistrationprofileStepLayout
{
    OneColumn_12,
    TwoColumn_6_6,
    TwoColumn_7_5,
    ThreeColumn_4_4_4,
}

class RegistrationProfileFieldStateBase implements IConvertible
{
    String? DocumentFieldID;
    bool? Required;
    bool? Visible;
    bool? Readonly;

    RegistrationProfileFieldStateBase({this.DocumentFieldID,this.Required,this.Visible,this.Readonly});
    RegistrationProfileFieldStateBase.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        DocumentFieldID = json['DocumentFieldID'];
        Required = json['Required'];
        Visible = json['Visible'];
        Readonly = json['Readonly'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'DocumentFieldID': DocumentFieldID,
        'Required': Required,
        'Visible': Visible,
        'Readonly': Readonly
    };

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

class RegistrationprofileField implements IConvertible
{
    String? ID;
    String? DocumentFieldID;
    String? Label;
    String? UserControlType;
    List<SerializableKeyValuePair<String,dynamic>>? UserControlProperties;
    String? Hint;
    int? Order;
    bool? HasDependableFields;
    String? EntityName;
    RegistrationProfileFieldStateBase? State;

    RegistrationprofileField({this.ID,this.DocumentFieldID,this.Label,this.UserControlType,this.UserControlProperties,this.Hint,this.Order,this.HasDependableFields,this.EntityName,this.State});
    RegistrationprofileField.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ID = json['ID'];
        DocumentFieldID = json['DocumentFieldID'];
        Label = json['Label'];
        UserControlType = json['UserControlType'];
        UserControlProperties = JsonConverters.fromJson(json['UserControlProperties'],'List<SerializableKeyValuePair<String,dynamic>>',context!);
        Hint = json['Hint'];
        Order = json['Order'];
        HasDependableFields = json['HasDependableFields'];
        EntityName = json['EntityName'];
        State = JsonConverters.fromJson(json['State'],'RegistrationProfileFieldStateBase',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ID': ID,
        'DocumentFieldID': DocumentFieldID,
        'Label': Label,
        'UserControlType': UserControlType,
        'UserControlProperties': JsonConverters.toJson(UserControlProperties,'List<SerializableKeyValuePair<String,dynamic>>',context!),
        'Hint': Hint,
        'Order': Order,
        'HasDependableFields': HasDependableFields,
        'EntityName': EntityName,
        'State': JsonConverters.toJson(State,'RegistrationProfileFieldStateBase',context!)
    };

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

class RegistrationprofileGroup implements IConvertible
{
    String? ID;
    String? Name;
    String? Label;
    int? Order;
    int? ColumnIndex;
    List<RegistrationprofileField>? Fields;
    int? LabelLayoutType;

    RegistrationprofileGroup({this.ID,this.Name,this.Label,this.Order,this.ColumnIndex,this.Fields,this.LabelLayoutType});
    RegistrationprofileGroup.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ID = json['ID'];
        Name = json['Name'];
        Label = json['Label'];
        Order = json['Order'];
        ColumnIndex = json['ColumnIndex'];
        Fields = JsonConverters.fromJson(json['Fields'],'List<RegistrationprofileField>',context!);
        LabelLayoutType = json['LabelLayoutType'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ID': ID,
        'Name': Name,
        'Label': Label,
        'Order': Order,
        'ColumnIndex': ColumnIndex,
        'Fields': JsonConverters.toJson(Fields,'List<RegistrationprofileField>',context!),
        'LabelLayoutType': LabelLayoutType
    };

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

class RegistrationprofileStep implements IConvertible
{
    String? ID;
    String? Name;
    int? Order;
    RegistrationprofileStepLayout? Layout;
    List<RegistrationprofileGroup>? Groups;

    RegistrationprofileStep({this.ID,this.Name,this.Order,this.Layout,this.Groups});
    RegistrationprofileStep.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ID = json['ID'];
        Name = json['Name'];
        Order = json['Order'];
        Layout = JsonConverters.fromJson(json['Layout'],'RegistrationprofileStepLayout',context!);
        Groups = JsonConverters.fromJson(json['Groups'],'List<RegistrationprofileGroup>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ID': ID,
        'Name': Name,
        'Order': Order,
        'Layout': JsonConverters.toJson(Layout,'RegistrationprofileStepLayout',context!),
        'Groups': JsonConverters.toJson(Groups,'List<RegistrationprofileGroup>',context!)
    };

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

enum MessageType
{
    Information,
    Warning,
    Error,
    Success,
}

abstract class InformationMessageBase implements IInformationMessage
{
    MessageType? Type;
    String? Summary;
    String? FullMessage;
    String? FieldName;
    bool? KeepOpen;

    InformationMessageBase({this.Type,this.Summary,this.FullMessage,this.FieldName,this.KeepOpen});
    InformationMessageBase.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Type = JsonConverters.fromJson(json['Type'],'MessageType',context!);
        Summary = json['Summary'];
        FullMessage = json['FullMessage'];
        FieldName = json['FieldName'];
        KeepOpen = json['KeepOpen'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Type': JsonConverters.toJson(Type,'MessageType',context!),
        'Summary': Summary,
        'FullMessage': FullMessage,
        'FieldName': FieldName,
        'KeepOpen': KeepOpen
    };

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

class RegistrationprofileDetails extends Registrationprofile implements IConvertible
{
    List<RegistrationprofileStep>? Steps;
    List<InformationMessageBase>? Messages;
    bool? ReadOnly;

    RegistrationprofileDetails({this.Steps,this.Messages,this.ReadOnly});
    RegistrationprofileDetails.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        Steps = JsonConverters.fromJson(json['Steps'],'List<RegistrationprofileStep>',context!);
        Messages = JsonConverters.fromJson(json['Messages'],'List<InformationMessageBase>',context!);
        ReadOnly = json['ReadOnly'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'Steps': JsonConverters.toJson(Steps,'List<RegistrationprofileStep>',context!),
        'Messages': JsonConverters.toJson(Messages,'List<InformationMessageBase>',context!),
        'ReadOnly': ReadOnly
    });

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

class GetRegistrationProfileDetailsFromEmailDraft implements IConvertible
{
    String? PidTag;
    bool? IsOffice365Context;

    GetRegistrationProfileDetailsFromEmailDraft({this.PidTag,this.IsOffice365Context});
    GetRegistrationProfileDetailsFromEmailDraft.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

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

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

TypeContext _ctx = TypeContext(library: 'digiofficeapigateway.deltares.nl', types: <String, TypeInfo> {
    'Registrationprofile': TypeInfo(TypeOf.Class, create:() => Registrationprofile()),
    'RegistrationprofileStepLayout': TypeInfo(TypeOf.Enum, enumValues:RegistrationprofileStepLayout.values),
    'RegistrationProfileFieldStateBase': TypeInfo(TypeOf.Class, create:() => RegistrationProfileFieldStateBase()),
    'RegistrationprofileField': TypeInfo(TypeOf.Class, create:() => RegistrationprofileField()),
    'List<SerializableKeyValuePair<String,dynamic>>': TypeInfo(TypeOf.Class, create:() => <SerializableKeyValuePair<String,dynamic>>[]),
    'SerializableKeyValuePair<String,dynamic>': TypeInfo(TypeOf.Class, create:() => SerializableKeyValuePair<String,dynamic>()),
    'RegistrationprofileGroup': TypeInfo(TypeOf.Class, create:() => RegistrationprofileGroup()),
    'List<RegistrationprofileField>': TypeInfo(TypeOf.Class, create:() => <RegistrationprofileField>[]),
    'RegistrationprofileStep': TypeInfo(TypeOf.Class, create:() => RegistrationprofileStep()),
    'List<RegistrationprofileGroup>': TypeInfo(TypeOf.Class, create:() => <RegistrationprofileGroup>[]),
    'MessageType': TypeInfo(TypeOf.Enum, enumValues:MessageType.values),
    'InformationMessageBase': TypeInfo(TypeOf.AbstractClass),
    'RegistrationprofileDetails': TypeInfo(TypeOf.Class, create:() => RegistrationprofileDetails()),
    'List<RegistrationprofileStep>': TypeInfo(TypeOf.Class, create:() => <RegistrationprofileStep>[]),
    'List<InformationMessageBase>': TypeInfo(TypeOf.Class, create:() => <InformationMessageBase>[]),
    'GetRegistrationProfileDetailsFromEmailDraft': TypeInfo(TypeOf.Class, create:() => GetRegistrationProfileDetailsFromEmailDraft()),
});

Dart GetRegistrationProfileDetailsFromEmailDraft 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 /jsv/reply/GetRegistrationProfileDetailsFromEmailDraft HTTP/1.1 
Host: digiofficeapigateway.deltares.nl 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	PidTag: String,
	IsOffice365Context: False
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Steps: 
	[
		{
			Name: String,
			Order: 0,
			Layout: OneColumn_12,
			Groups: 
			[
				{
					Name: String,
					Label: String,
					Order: 0,
					ColumnIndex: 0,
					Fields: 
					[
						{
							Label: String,
							UserControlType: String,
							UserControlProperties: 
							[
								{
									
								}
							],
							Hint: String,
							Order: 0,
							HasDependableFields: False,
							EntityName: String,
							State: 
							{
								Required: False,
								Visible: False,
								Readonly: False
							}
						}
					],
					LabelLayoutType: 0
				}
			]
		}
	],
	Messages: 
	[
		{
			
		}
	],
	ReadOnly: False,
	Name: String,
	Hint: String,
	Order: 0,
	RegisterAutomatically: False,
	RegisterInBackground: False,
	ThumbnailUrl: String,
	ProgCode: String,
	VersionControlType: 0,
	WOPlaceLogo: 0,
	WOPrinterBins: String,
	SelectAllFiles: False
}