Portal

<back to all web services

AddContractFileDraft

Requires Authentication
Required role:VeoliaAdmin
The following routes are available for this service:
POST/user/{supplieruserid}/contract/{contractid}/contractversion/{contractversionid}/file/draft
import 'package:servicestack/servicestack.dart';

abstract class ContractBase
{
    int? SupplierUserId;
    int? ContractId;

    ContractBase({this.SupplierUserId,this.ContractId});
    ContractBase.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

    Map<String, dynamic> toJson() => {
        'SupplierUserId': SupplierUserId,
        'ContractId': ContractId
    };

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

abstract class ContractVersionBase extends ContractBase
{
    int? ContractVersionId;

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

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

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

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

class ContractDocumentType
{
    static const ContractDocumentType Draft = const ContractDocumentType._(0);
    static const ContractDocumentType Comment = const ContractDocumentType._(1);

    final int _value;
    const ContractDocumentType._(this._value);
    int get value => _value;
    static List<ContractDocumentType> get values => const [Draft,Comment];
}

abstract class AddContractVersionFileBase extends ContractVersionBase
{
    ContractDocumentType? DocumentType;

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

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

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'DocumentType': JsonConverters.toJson(DocumentType,'ContractDocumentType',context!)
    });

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

abstract class ResponseBase
{
    ResponseStatus? ResponseStatus;

    ResponseBase({this.ResponseStatus});
    ResponseBase.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() => "ResponseBase";
    TypeContext? context = _ctx;
}

class ModifyEntityResponse extends ResponseBase implements IConvertible
{
    int? Id;

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

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

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

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

class SaveFileEntityResponse extends ModifyEntityResponse implements IConvertible
{
    int? FileContentId;

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

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

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

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

class AddContractFileDraft extends AddContractVersionFileBase implements IPost, IConvertible
{
    ContractDocumentType? DocumentType;

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

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

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'DocumentType': JsonConverters.toJson(DocumentType,'ContractDocumentType',context!)
    });

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

TypeContext _ctx = TypeContext(library: 'szallitoiportal_be.veolia.hu', types: <String, TypeInfo> {
    'ContractBase': TypeInfo(TypeOf.AbstractClass),
    'ContractVersionBase': TypeInfo(TypeOf.AbstractClass),
    'ContractDocumentType': TypeInfo(TypeOf.Enum, enumValues:ContractDocumentType.values),
    'AddContractVersionFileBase': TypeInfo(TypeOf.AbstractClass),
    'ResponseBase': TypeInfo(TypeOf.AbstractClass),
    'ModifyEntityResponse': TypeInfo(TypeOf.Class, create:() => ModifyEntityResponse()),
    'SaveFileEntityResponse': TypeInfo(TypeOf.Class, create:() => SaveFileEntityResponse()),
    'AddContractFileDraft': TypeInfo(TypeOf.Class, create:() => AddContractFileDraft()),
});

Dart AddContractFileDraft DTOs

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

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

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

POST /user/{supplieruserid}/contract/{contractid}/contractversion/{contractversionid}/file/draft HTTP/1.1 
Host: szallitoiportal-be.veolia.hu 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"DocumentType":0,"ContractVersionId":0,"SupplierUserId":0,"ContractId":0}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"FileContentId":0,"Id":0,"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}