DigiOffice Gateway Web Services

<back to all web services

StartSideStep

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

abstract class UserOrGroup
{
    int? ID;
    String? Title;
    bool? IsChecked;
    String? Image;

    UserOrGroup({this.ID,this.Title,this.IsChecked,this.Image});
    UserOrGroup.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ID = json['ID'];
        Title = json['Title'];
        IsChecked = json['IsChecked'];
        Image = json['Image'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ID': ID,
        'Title': Title,
        'IsChecked': IsChecked,
        'Image': Image
    };

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

class User extends UserOrGroup implements IConvertible
{
    String? Image;

    User({this.Image});
    User.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        Image = json['Image'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'Image': Image
    });

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

class Group extends UserOrGroup implements IConvertible
{
    String? Image;

    Group({this.Image});
    Group.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        Image = json['Image'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'Image': Image
    });

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

class WorkflowTaskDelay implements IConvertible
{
    DateTime? DelayDate;
    String? Reason;

    WorkflowTaskDelay({this.DelayDate,this.Reason});
    WorkflowTaskDelay.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        DelayDate = JsonConverters.fromJson(json['DelayDate'],'DateTime',context!);
        Reason = json['Reason'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'DelayDate': JsonConverters.toJson(DelayDate,'DateTime',context!),
        'Reason': Reason
    };

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

class WorkflowTaskReason implements IConvertible
{
    String? Reason;
    bool? Required;

    WorkflowTaskReason({this.Reason,this.Required});
    WorkflowTaskReason.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

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

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

class WorkflowTaskAdhocTransition implements IConvertible
{
    String? ID;
    String? Title;
    bool? AssignmentAllowed;
    bool? AssignmentRequired;
    int? UserEnvironment;
    List<User>? Users;
    List<Group>? Groups;
    WorkflowTaskDelay? Delay;
    WorkflowTaskReason? Reason;
    List<UserOrGroup>? UsersOrGroups;
    String? Value;

    WorkflowTaskAdhocTransition({this.ID,this.Title,this.AssignmentAllowed,this.AssignmentRequired,this.UserEnvironment,this.Users,this.Groups,this.Delay,this.Reason,this.UsersOrGroups,this.Value});
    WorkflowTaskAdhocTransition.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ID = json['ID'];
        Title = json['Title'];
        AssignmentAllowed = json['AssignmentAllowed'];
        AssignmentRequired = json['AssignmentRequired'];
        UserEnvironment = json['UserEnvironment'];
        Users = JsonConverters.fromJson(json['Users'],'List<User>',context!);
        Groups = JsonConverters.fromJson(json['Groups'],'List<Group>',context!);
        Delay = JsonConverters.fromJson(json['Delay'],'WorkflowTaskDelay',context!);
        Reason = JsonConverters.fromJson(json['Reason'],'WorkflowTaskReason',context!);
        UsersOrGroups = JsonConverters.fromJson(json['UsersOrGroups'],'List<UserOrGroup>',context!);
        Value = json['Value'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ID': ID,
        'Title': Title,
        'AssignmentAllowed': AssignmentAllowed,
        'AssignmentRequired': AssignmentRequired,
        'UserEnvironment': UserEnvironment,
        'Users': JsonConverters.toJson(Users,'List<User>',context!),
        'Groups': JsonConverters.toJson(Groups,'List<Group>',context!),
        'Delay': JsonConverters.toJson(Delay,'WorkflowTaskDelay',context!),
        'Reason': JsonConverters.toJson(Reason,'WorkflowTaskReason',context!),
        'UsersOrGroups': JsonConverters.toJson(UsersOrGroups,'List<UserOrGroup>',context!),
        'Value': Value
    };

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

class AdhocTransitionDetails implements IConvertible
{
    List<WorkflowTaskAdhocTransition>? AdhocTransitions;

    AdhocTransitionDetails({this.AdhocTransitions});
    AdhocTransitionDetails.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        AdhocTransitions = JsonConverters.fromJson(json['AdhocTransitions'],'List<WorkflowTaskAdhocTransition>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'AdhocTransitions': JsonConverters.toJson(AdhocTransitions,'List<WorkflowTaskAdhocTransition>',context!)
    };

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

class WorkflowTaskActionComment implements IConvertible
{
    String? Comment;
    bool? Required;

    WorkflowTaskActionComment({this.Comment,this.Required});
    WorkflowTaskActionComment.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

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

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

class SideStepDetails extends AdhocTransitionDetails implements IConvertible
{
    User? Coordinator;
    WorkflowTaskActionComment? Comment;
    bool? Urgent;

    SideStepDetails({this.Coordinator,this.Comment,this.Urgent});
    SideStepDetails.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        Coordinator = JsonConverters.fromJson(json['Coordinator'],'User',context!);
        Comment = JsonConverters.fromJson(json['Comment'],'WorkflowTaskActionComment',context!);
        Urgent = json['Urgent'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'Coordinator': JsonConverters.toJson(Coordinator,'User',context!),
        'Comment': JsonConverters.toJson(Comment,'WorkflowTaskActionComment',context!),
        'Urgent': Urgent
    });

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

class StartSideStep implements IConvertible
{
    int? ProcessID;
    int? WorkflowTaskID;
    SideStepDetails? Details;

    StartSideStep({this.ProcessID,this.WorkflowTaskID,this.Details});
    StartSideStep.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ProcessID = json['ProcessID'];
        WorkflowTaskID = json['WorkflowTaskID'];
        Details = JsonConverters.fromJson(json['Details'],'SideStepDetails',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ProcessID': ProcessID,
        'WorkflowTaskID': WorkflowTaskID,
        'Details': JsonConverters.toJson(Details,'SideStepDetails',context!)
    };

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

TypeContext _ctx = TypeContext(library: 'digiofficeapigateway.deltares.nl', types: <String, TypeInfo> {
    'UserOrGroup': TypeInfo(TypeOf.AbstractClass),
    'User': TypeInfo(TypeOf.Class, create:() => User()),
    'Group': TypeInfo(TypeOf.Class, create:() => Group()),
    'WorkflowTaskDelay': TypeInfo(TypeOf.Class, create:() => WorkflowTaskDelay()),
    'WorkflowTaskReason': TypeInfo(TypeOf.Class, create:() => WorkflowTaskReason()),
    'WorkflowTaskAdhocTransition': TypeInfo(TypeOf.Class, create:() => WorkflowTaskAdhocTransition()),
    'List<User>': TypeInfo(TypeOf.Class, create:() => <User>[]),
    'List<Group>': TypeInfo(TypeOf.Class, create:() => <Group>[]),
    'List<UserOrGroup>': TypeInfo(TypeOf.Class, create:() => <UserOrGroup>[]),
    'AdhocTransitionDetails': TypeInfo(TypeOf.Class, create:() => AdhocTransitionDetails()),
    'List<WorkflowTaskAdhocTransition>': TypeInfo(TypeOf.Class, create:() => <WorkflowTaskAdhocTransition>[]),
    'WorkflowTaskActionComment': TypeInfo(TypeOf.Class, create:() => WorkflowTaskActionComment()),
    'SideStepDetails': TypeInfo(TypeOf.Class, create:() => SideStepDetails()),
    'StartSideStep': TypeInfo(TypeOf.Class, create:() => StartSideStep()),
});

Dart StartSideStep DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv

HTTP + CSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /csv/oneway/StartSideStep HTTP/1.1 
Host: digiofficeapigateway.deltares.nl 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"ProcessID":0,"WorkflowTaskID":0,"Details":{"Coordinator":{"Image":"Icons/User","ID":0,"Title":"String","IsChecked":false},"Comment":{"Comment":"String","Required":false},"Urgent":false,"AdhocTransitions":[{"ID":"00000000-0000-0000-0000-000000000000","Title":"String","AssignmentAllowed":false,"AssignmentRequired":false,"UserEnvironment":0,"Users":[{"Image":"Icons/User","ID":0,"Title":"String","IsChecked":false}],"Groups":[{"Image":"Icons/Group","ID":0,"Title":"String","IsChecked":false}],"Delay":{"DelayDate":"0001-01-01T00:00:00.0000000","Reason":"String"},"Reason":{"Reason":"String","Required":false},"UsersOrGroups":[{"__type":"IDB.API.DTO.User, IDB.API.DTO","Image":"Icons/User","ID":0,"Title":"String","IsChecked":false},{"__type":"IDB.API.DTO.Group, IDB.API.DTO","Image":"Icons/Group","ID":0,"Title":"String","IsChecked":false}],"Value":"String\r\nString"}]}}