DigiOffice Gateway Web Services

<back to all web services

GetProjects

Requires Authentication
The following routes are available for this service:
GET POST/api/projects
import 'package:servicestack/servicestack.dart';

class RegistrationProfileFieldValue implements IConvertible
{
    String? DocumentFieldID;
    String? Value;
    String? ShadowValue;
    bool? IsModifiedByUser;

    RegistrationProfileFieldValue({this.DocumentFieldID,this.Value,this.ShadowValue,this.IsModifiedByUser});
    RegistrationProfileFieldValue.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        DocumentFieldID = json['DocumentFieldID'];
        Value = json['Value'];
        ShadowValue = json['ShadowValue'];
        IsModifiedByUser = json['IsModifiedByUser'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'DocumentFieldID': DocumentFieldID,
        'Value': Value,
        'ShadowValue': ShadowValue,
        'IsModifiedByUser': IsModifiedByUser
    };

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

class GetProjects implements IFilterRequest, IConvertible
{
    String? SearchCriteria;
    int? PageSize;
    int? PageNumber;
    String? OrderBy;
    bool? Active;
    String? RegistrationProfileFieldID;
    List<RegistrationProfileFieldValue>? DependableFields;

    GetProjects({this.SearchCriteria,this.PageSize,this.PageNumber,this.OrderBy,this.Active,this.RegistrationProfileFieldID,this.DependableFields});
    GetProjects.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        SearchCriteria = json['SearchCriteria'];
        PageSize = json['PageSize'];
        PageNumber = json['PageNumber'];
        OrderBy = json['OrderBy'];
        Active = json['Active'];
        RegistrationProfileFieldID = json['RegistrationProfileFieldID'];
        DependableFields = JsonConverters.fromJson(json['DependableFields'],'List<RegistrationProfileFieldValue>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'SearchCriteria': SearchCriteria,
        'PageSize': PageSize,
        'PageNumber': PageNumber,
        'OrderBy': OrderBy,
        'Active': Active,
        'RegistrationProfileFieldID': RegistrationProfileFieldID,
        'DependableFields': JsonConverters.toJson(DependableFields,'List<RegistrationProfileFieldValue>',context!)
    };

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

TypeContext _ctx = TypeContext(library: 'digiofficeapigateway.deltares.nl', types: <String, TypeInfo> {
    'RegistrationProfileFieldValue': TypeInfo(TypeOf.Class, create:() => RegistrationProfileFieldValue()),
    'GetProjects': TypeInfo(TypeOf.Class, create:() => GetProjects()),
    'List<RegistrationProfileFieldValue>': TypeInfo(TypeOf.Class, create:() => <RegistrationProfileFieldValue>[]),
});

Dart GetProjects DTOs

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

HTTP + XML

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

POST /api/projects HTTP/1.1 
Host: digiofficeapigateway.deltares.nl 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<GetProjects xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/IDB.API.DTO.Project.Operations">
  <Active>false</Active>
  <DependableFields xmlns:d2p1="http://schemas.datacontract.org/2004/07/IDB.API.DTO.Registrationprofile">
    <d2p1:RegistrationProfileFieldValue>
      <d2p1:DocumentFieldID>00000000-0000-0000-0000-000000000000</d2p1:DocumentFieldID>
      <d2p1:IsModifiedByUser>false</d2p1:IsModifiedByUser>
      <d2p1:ShadowValue>String</d2p1:ShadowValue>
      <d2p1:Value>String</d2p1:Value>
    </d2p1:RegistrationProfileFieldValue>
  </DependableFields>
  <OrderBy>String</OrderBy>
  <PageNumber>0</PageNumber>
  <PageSize>0</PageSize>
  <RegistrationProfileFieldID>00000000-0000-0000-0000-000000000000</RegistrationProfileFieldID>
  <SearchCriteria>String</SearchCriteria>
</GetProjects>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<ArrayOfProject xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/IDB.API.DTO.Project">
  <Project>
    <Active>false</Active>
    <City>String</City>
    <Description1>String</Description1>
    <Description2>String</Description2>
    <GlobalID>00000000-0000-0000-0000-000000000000</GlobalID>
    <ID>0</ID>
    <Name>String</Name>
    <Number>String</Number>
  </Project>
</ArrayOfProject>