| POST,OPTIONS | /v1/projects/{ProjectID}/purchase-orders/{PurchaseOrderID}/receive |
|---|
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';
class PurchaseOrderLine implements IConvertible
{
int? PurchaseOrderLineID;
int? PurchaseOrderID;
int? MaterialID;
String? Description;
String? Unit;
double? Qty;
double? UnitPrice;
double? QtyReceived;
String? CostCode;
int? SortOrder;
PurchaseOrderLine({this.PurchaseOrderLineID,this.PurchaseOrderID,this.MaterialID,this.Description,this.Unit,this.Qty,this.UnitPrice,this.QtyReceived,this.CostCode,this.SortOrder});
PurchaseOrderLine.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
PurchaseOrderLineID = json['PurchaseOrderLineID'];
PurchaseOrderID = json['PurchaseOrderID'];
MaterialID = json['MaterialID'];
Description = json['Description'];
Unit = json['Unit'];
Qty = JsonConverters.toDouble(json['Qty']);
UnitPrice = JsonConverters.toDouble(json['UnitPrice']);
QtyReceived = JsonConverters.toDouble(json['QtyReceived']);
CostCode = json['CostCode'];
SortOrder = json['SortOrder'];
return this;
}
Map<String, dynamic> toJson() => {
'PurchaseOrderLineID': PurchaseOrderLineID,
'PurchaseOrderID': PurchaseOrderID,
'MaterialID': MaterialID,
'Description': Description,
'Unit': Unit,
'Qty': Qty,
'UnitPrice': UnitPrice,
'QtyReceived': QtyReceived,
'CostCode': CostCode,
'SortOrder': SortOrder
};
getTypeName() => "PurchaseOrderLine";
TypeContext? context = _ctx;
}
class PurchaseOrder implements IConvertible
{
int? PurchaseOrderID;
String? PurchaseOrderUID;
int? ProjectID;
String? PONumber;
String? Vendor;
String? Status;
double? AmountUSD;
String? CostCode;
DateTime? NeedByDate;
String? Notes;
DateTime? IssuedAt;
DateTime? ReceivedAt;
String? CreatedBy;
DateTime? CreatedAt;
DateTime? UpdatedAt;
int? LineCount;
String? FirstItem;
int? DaysToNeed;
List<PurchaseOrderLine>? Lines = [];
PurchaseOrder({this.PurchaseOrderID,this.PurchaseOrderUID,this.ProjectID,this.PONumber,this.Vendor,this.Status,this.AmountUSD,this.CostCode,this.NeedByDate,this.Notes,this.IssuedAt,this.ReceivedAt,this.CreatedBy,this.CreatedAt,this.UpdatedAt,this.LineCount,this.FirstItem,this.DaysToNeed,this.Lines});
PurchaseOrder.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
PurchaseOrderID = json['PurchaseOrderID'];
PurchaseOrderUID = json['PurchaseOrderUID'];
ProjectID = json['ProjectID'];
PONumber = json['PONumber'];
Vendor = json['Vendor'];
Status = json['Status'];
AmountUSD = JsonConverters.toDouble(json['AmountUSD']);
CostCode = json['CostCode'];
NeedByDate = JsonConverters.fromJson(json['NeedByDate'],'DateTime',context!);
Notes = json['Notes'];
IssuedAt = JsonConverters.fromJson(json['IssuedAt'],'DateTime',context!);
ReceivedAt = JsonConverters.fromJson(json['ReceivedAt'],'DateTime',context!);
CreatedBy = json['CreatedBy'];
CreatedAt = JsonConverters.fromJson(json['CreatedAt'],'DateTime',context!);
UpdatedAt = JsonConverters.fromJson(json['UpdatedAt'],'DateTime',context!);
LineCount = json['LineCount'];
FirstItem = json['FirstItem'];
DaysToNeed = json['DaysToNeed'];
Lines = JsonConverters.fromJson(json['Lines'],'List<PurchaseOrderLine>',context!);
return this;
}
Map<String, dynamic> toJson() => {
'PurchaseOrderID': PurchaseOrderID,
'PurchaseOrderUID': PurchaseOrderUID,
'ProjectID': ProjectID,
'PONumber': PONumber,
'Vendor': Vendor,
'Status': Status,
'AmountUSD': AmountUSD,
'CostCode': CostCode,
'NeedByDate': JsonConverters.toJson(NeedByDate,'DateTime',context!),
'Notes': Notes,
'IssuedAt': JsonConverters.toJson(IssuedAt,'DateTime',context!),
'ReceivedAt': JsonConverters.toJson(ReceivedAt,'DateTime',context!),
'CreatedBy': CreatedBy,
'CreatedAt': JsonConverters.toJson(CreatedAt,'DateTime',context!),
'UpdatedAt': JsonConverters.toJson(UpdatedAt,'DateTime',context!),
'LineCount': LineCount,
'FirstItem': FirstItem,
'DaysToNeed': DaysToNeed,
'Lines': JsonConverters.toJson(Lines,'List<PurchaseOrderLine>',context!)
};
getTypeName() => "PurchaseOrder";
TypeContext? context = _ctx;
}
class PurchaseOrderBuyoutSummary implements IConvertible
{
int? ProjectID;
double? MaterialBudget;
double? Committed;
double? Received;
int? OpenPOs;
int? LatePOs;
int? POCount;
double? RemainingBuyout;
PurchaseOrderBuyoutSummary({this.ProjectID,this.MaterialBudget,this.Committed,this.Received,this.OpenPOs,this.LatePOs,this.POCount,this.RemainingBuyout});
PurchaseOrderBuyoutSummary.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ProjectID = json['ProjectID'];
MaterialBudget = JsonConverters.toDouble(json['MaterialBudget']);
Committed = JsonConverters.toDouble(json['Committed']);
Received = JsonConverters.toDouble(json['Received']);
OpenPOs = json['OpenPOs'];
LatePOs = json['LatePOs'];
POCount = json['POCount'];
RemainingBuyout = JsonConverters.toDouble(json['RemainingBuyout']);
return this;
}
Map<String, dynamic> toJson() => {
'ProjectID': ProjectID,
'MaterialBudget': MaterialBudget,
'Committed': Committed,
'Received': Received,
'OpenPOs': OpenPOs,
'LatePOs': LatePOs,
'POCount': POCount,
'RemainingBuyout': RemainingBuyout
};
getTypeName() => "PurchaseOrderBuyoutSummary";
TypeContext? context = _ctx;
}
class PurchaseOrderResponse implements IConvertible
{
ResponseStatus? ResponseStatus;
PurchaseOrder? Order;
PurchaseOrderBuyoutSummary? Summary;
PurchaseOrderResponse({this.ResponseStatus,this.Order,this.Summary});
PurchaseOrderResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
Order = JsonConverters.fromJson(json['Order'],'PurchaseOrder',context!);
Summary = JsonConverters.fromJson(json['Summary'],'PurchaseOrderBuyoutSummary',context!);
return this;
}
Map<String, dynamic> toJson() => {
'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!),
'Order': JsonConverters.toJson(Order,'PurchaseOrder',context!),
'Summary': JsonConverters.toJson(Summary,'PurchaseOrderBuyoutSummary',context!)
};
getTypeName() => "PurchaseOrderResponse";
TypeContext? context = _ctx;
}
class PurchaseOrderReceiveRequest implements IConvertible
{
int? ProjectID;
int? PurchaseOrderID;
List<PurchaseOrderLine>? Lines = [];
bool? Close;
PurchaseOrderReceiveRequest({this.ProjectID,this.PurchaseOrderID,this.Lines,this.Close});
PurchaseOrderReceiveRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
ProjectID = json['ProjectID'];
PurchaseOrderID = json['PurchaseOrderID'];
Lines = JsonConverters.fromJson(json['Lines'],'List<PurchaseOrderLine>',context!);
Close = json['Close'];
return this;
}
Map<String, dynamic> toJson() => {
'ProjectID': ProjectID,
'PurchaseOrderID': PurchaseOrderID,
'Lines': JsonConverters.toJson(Lines,'List<PurchaseOrderLine>',context!),
'Close': Close
};
getTypeName() => "PurchaseOrderReceiveRequest";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
'PurchaseOrderLine': TypeInfo(TypeOf.Class, create:() => PurchaseOrderLine()),
'PurchaseOrder': TypeInfo(TypeOf.Class, create:() => PurchaseOrder()),
'List<PurchaseOrderLine>': TypeInfo(TypeOf.Class, create:() => <PurchaseOrderLine>[]),
'PurchaseOrderBuyoutSummary': TypeInfo(TypeOf.Class, create:() => PurchaseOrderBuyoutSummary()),
'PurchaseOrderResponse': TypeInfo(TypeOf.Class, create:() => PurchaseOrderResponse()),
'PurchaseOrderReceiveRequest': TypeInfo(TypeOf.Class, create:() => PurchaseOrderReceiveRequest()),
});
Dart PurchaseOrderReceiveRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /v1/projects/{ProjectID}/purchase-orders/{PurchaseOrderID}/receive HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<PurchaseOrderReceiveRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
<Close>false</Close>
<Lines>
<PurchaseOrderLine>
<CostCode>String</CostCode>
<Description>String</Description>
<MaterialID>0</MaterialID>
<PurchaseOrderID>0</PurchaseOrderID>
<PurchaseOrderLineID>0</PurchaseOrderLineID>
<Qty>0</Qty>
<QtyReceived>0</QtyReceived>
<SortOrder>0</SortOrder>
<Unit>String</Unit>
<UnitPrice>0</UnitPrice>
</PurchaseOrderLine>
</Lines>
<ProjectID>0</ProjectID>
<PurchaseOrderID>0</PurchaseOrderID>
</PurchaseOrderReceiveRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<PurchaseOrderResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
<Order>
<AmountUSD>0</AmountUSD>
<CostCode>String</CostCode>
<CreatedAt>0001-01-01T00:00:00</CreatedAt>
<CreatedBy>String</CreatedBy>
<DaysToNeed>0</DaysToNeed>
<FirstItem>String</FirstItem>
<IssuedAt>0001-01-01T00:00:00</IssuedAt>
<LineCount>0</LineCount>
<Lines>
<PurchaseOrderLine>
<CostCode>String</CostCode>
<Description>String</Description>
<MaterialID>0</MaterialID>
<PurchaseOrderID>0</PurchaseOrderID>
<PurchaseOrderLineID>0</PurchaseOrderLineID>
<Qty>0</Qty>
<QtyReceived>0</QtyReceived>
<SortOrder>0</SortOrder>
<Unit>String</Unit>
<UnitPrice>0</UnitPrice>
</PurchaseOrderLine>
</Lines>
<NeedByDate>0001-01-01T00:00:00</NeedByDate>
<Notes>String</Notes>
<PONumber>String</PONumber>
<ProjectID>0</ProjectID>
<PurchaseOrderID>0</PurchaseOrderID>
<PurchaseOrderUID>00000000-0000-0000-0000-000000000000</PurchaseOrderUID>
<ReceivedAt>0001-01-01T00:00:00</ReceivedAt>
<Status>String</Status>
<UpdatedAt>0001-01-01T00:00:00</UpdatedAt>
<Vendor>String</Vendor>
</Order>
<ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types">
<d2p1:ErrorCode>String</d2p1:ErrorCode>
<d2p1:Message>String</d2p1:Message>
<d2p1:StackTrace>String</d2p1:StackTrace>
<d2p1:Errors>
<d2p1:ResponseError>
<d2p1:ErrorCode>String</d2p1:ErrorCode>
<d2p1:FieldName>String</d2p1:FieldName>
<d2p1:Message>String</d2p1:Message>
<d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d5p1:KeyValueOfstringstring>
<d5p1:Key>String</d5p1:Key>
<d5p1:Value>String</d5p1:Value>
</d5p1:KeyValueOfstringstring>
</d2p1:Meta>
</d2p1:ResponseError>
</d2p1:Errors>
<d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:KeyValueOfstringstring>
<d3p1:Key>String</d3p1:Key>
<d3p1:Value>String</d3p1:Value>
</d3p1:KeyValueOfstringstring>
</d2p1:Meta>
</ResponseStatus>
<Summary>
<Committed>0</Committed>
<LatePOs>0</LatePOs>
<MaterialBudget>0</MaterialBudget>
<OpenPOs>0</OpenPOs>
<POCount>0</POCount>
<ProjectID>0</ProjectID>
<Received>0</Received>
<RemainingBuyout>0</RemainingBuyout>
</Summary>
</PurchaseOrderResponse>