using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using IDB.API.DTO.Workflow.Operations;
using IDB.API.DTO.Workflow;
using IDB.API.DTO.Interfaces;
using IDB.API.DTO;
namespace IDB.API.DTO
{
public partial class Group
: UserOrGroup
{
public virtual string Image { get; set; }
}
public partial class User
: UserOrGroup
{
public virtual string Image { get; set; }
}
public partial class UserOrGroup
{
public virtual int ID { get; set; }
public virtual string Title { get; set; }
public virtual bool IsChecked { get; set; }
public virtual string Image { get; set; }
}
}
namespace IDB.API.DTO.Interfaces
{
public partial class AdhocTransitionDetails
{
public AdhocTransitionDetails()
{
AdhocTransitions = new List<WorkflowTaskAdhocTransition>{};
}
public virtual List<WorkflowTaskAdhocTransition> AdhocTransitions { get; set; }
}
}
namespace IDB.API.DTO.Workflow
{
public partial class SideStepDetails
: AdhocTransitionDetails
{
public virtual User Coordinator { get; set; }
public virtual WorkflowTaskActionComment Comment { get; set; }
public virtual bool Urgent { get; set; }
}
public partial class WorkflowTaskActionComment
{
public virtual string Comment { get; set; }
public virtual bool Required { get; set; }
}
public partial class WorkflowTaskAdhocTransition
{
public WorkflowTaskAdhocTransition()
{
Users = new List<User>{};
Groups = new List<Group>{};
UsersOrGroups = new List<UserOrGroup>{};
}
public virtual Guid ID { get; set; }
public virtual string Title { get; set; }
public virtual bool AssignmentAllowed { get; set; }
public virtual bool AssignmentRequired { get; set; }
public virtual int UserEnvironment { get; set; }
public virtual List<User> Users { get; set; }
public virtual List<Group> Groups { get; set; }
public virtual WorkflowTaskDelay Delay { get; set; }
public virtual WorkflowTaskReason Reason { get; set; }
public virtual List<UserOrGroup> UsersOrGroups { get; set; }
public virtual string Value { get; set; }
}
public partial class WorkflowTaskDelay
{
public virtual DateTime? DelayDate { get; set; }
public virtual string Reason { get; set; }
}
public partial class WorkflowTaskReason
{
public virtual string Reason { get; set; }
public virtual bool Required { get; set; }
}
}
namespace IDB.API.DTO.Workflow.Operations
{
public partial class StartSideStep
{
public virtual int ProcessID { get; set; }
public virtual int WorkflowTaskID { get; set; }
public virtual SideStepDetails Details { get; set; }
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /jsv/oneway/StartSideStep HTTP/1.1
Host: digiofficeapigateway.deltares.nl
Accept: text/jsv
Content-Type: text/jsv
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:
[
{
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-01,
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
String"
}
]
}
}