Required role: | VeoliaAdmin |
POST | /user/{supplieruserid}/contract |
---|
import 'package:servicestack/servicestack.dart';
abstract class ModifyRequestBase implements IConcurrencyStamp
{
String? ConcurrencyStamp;
ModifyRequestBase({this.ConcurrencyStamp});
ModifyRequestBase.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ConcurrencyStamp = json['ConcurrencyStamp'];
return this;
}
Map<String, dynamic> toJson() => {
'ConcurrencyStamp': ConcurrencyStamp
};
getTypeName() => "ModifyRequestBase";
TypeContext? context = _ctx;
}
abstract class ModifyContractBase extends ModifyRequestBase
{
int? TenderUserId;
String? ContractIdentifier;
int? SupplierUserId;
String? Buyer;
String? Subject;
DateTime? ConfirmationDeadline;
ModifyContractBase({this.TenderUserId,this.ContractIdentifier,this.SupplierUserId,this.Buyer,this.Subject,this.ConfirmationDeadline});
ModifyContractBase.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
TenderUserId = json['TenderUserId'];
ContractIdentifier = json['ContractIdentifier'];
SupplierUserId = json['SupplierUserId'];
Buyer = json['Buyer'];
Subject = json['Subject'];
ConfirmationDeadline = JsonConverters.fromJson(json['ConfirmationDeadline'],'DateTime',context!);
return this;
}
Map<String, dynamic> toJson() => super.toJson()..addAll({
'TenderUserId': TenderUserId,
'ContractIdentifier': ContractIdentifier,
'SupplierUserId': SupplierUserId,
'Buyer': Buyer,
'Subject': Subject,
'ConfirmationDeadline': JsonConverters.toJson(ConfirmationDeadline,'DateTime',context!)
});
getTypeName() => "ModifyContractBase";
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 AddContract extends ModifyContractBase implements IPost, IConvertible
{
AddContract();
AddContract.fromJson(Map<String, dynamic> json) : super.fromJson(json);
fromMap(Map<String, dynamic> json) {
super.fromMap(json);
return this;
}
Map<String, dynamic> toJson() => super.toJson();
getTypeName() => "AddContract";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'szallitoiportal_be.veolia.hu', types: <String, TypeInfo> {
'ModifyRequestBase': TypeInfo(TypeOf.AbstractClass),
'ModifyContractBase': TypeInfo(TypeOf.AbstractClass),
'ResponseBase': TypeInfo(TypeOf.AbstractClass),
'ModifyEntityResponse': TypeInfo(TypeOf.Class, create:() => ModifyEntityResponse()),
'AddContract': TypeInfo(TypeOf.Class, create:() => AddContract()),
});
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 /user/{supplieruserid}/contract HTTP/1.1
Host: szallitoiportal-be.veolia.hu
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
TenderUserId: 0,
ContractIdentifier: String,
SupplierUserId: 0,
Buyer: String,
Subject: String,
ConfirmationDeadline: 0001-01-01,
ConcurrencyStamp: String
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { Id: 0, ResponseStatus: { ErrorCode: String, Message: String, StackTrace: String, Errors: [ { ErrorCode: String, FieldName: String, Message: String, Meta: { String: String } } ], Meta: { String: String } } }