POST | /api/purchaseorders | Create a new PurchaseOrder |
---|
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using Hmx.Accounts.ServiceModels;
using Hmx.Accounts.Models;
namespace Hmx.Accounts.Models
{
public partial class PurchaseOrderItem
{
public virtual int Id { get; set; }
[References(typeof(Hmx.Accounts.Models.PurchaseOrder))]
public virtual int PurchaseOrderId { get; set; }
[References(typeof(Hmx.Accounts.Models.Product))]
public virtual string ProductId { get; set; }
public virtual string ProductName { get; set; }
public virtual int Quantity { get; set; }
public virtual decimal Price { get; set; }
public virtual string DiscountDescription { get; set; }
public virtual string DiscountSource { get; set; }
public virtual decimal Discount { get; set; }
public virtual DateTime CreatedDate { get; set; }
}
}
namespace Hmx.Accounts.ServiceModels
{
public partial class BillingInformationDto
{
public virtual string CardNumber { get; set; }
public virtual string CardType { get; set; }
public virtual int ExpireMonth { get; set; }
public virtual int ExpireYear { get; set; }
public virtual string Cvv2 { get; set; }
public virtual string FirstName { get; set; }
public virtual string LastName { get; set; }
public virtual string City { get; set; }
public virtual string CountryCode { get; set; }
public virtual string Line1 { get; set; }
public virtual string PostalCode { get; set; }
public virtual string State { get; set; }
}
public partial class CreatePurchaseOrder
{
public CreatePurchaseOrder()
{
OrderItems = new List<PurchaseOrderItemDto>{};
}
public virtual string UserId { get; set; }
public virtual string UserEmail { get; set; }
public virtual DateTime CreatedDate { get; set; }
public virtual bool Void { get; set; }
public virtual string CouponCode { get; set; }
public virtual List<PurchaseOrderItemDto> OrderItems { get; set; }
public virtual string PaymentType { get; set; }
public virtual BillingInformationDto BillingInformationDto { get; set; }
}
public partial class CreatePurchaseOrderResponse
{
public CreatePurchaseOrderResponse()
{
Details = new List<Details>{};
}
public virtual string Message { get; set; }
public virtual HttpStatusCode Status { get; set; }
public virtual PurchaseOrderDto PurchaseOrder { get; set; }
public virtual List<Details> Details { get; set; }
}
public partial class Details
{
public virtual string Code { get; set; }
public virtual string Field { get; set; }
public virtual string Issue { get; set; }
}
public partial class PurchaseOrderDto
{
public PurchaseOrderDto()
{
OrderItems = new List<PurchaseOrderItem>{};
}
public virtual int Id { get; set; }
public virtual string UserId { get; set; }
public virtual DateTime CreatedDate { get; set; }
public virtual string PaymentType { get; set; }
public virtual bool Void { get; set; }
public virtual bool Paid { get; set; }
public virtual string TransactionIdentifier { get; set; }
public virtual string CouponCode { get; set; }
public virtual List<PurchaseOrderItem> OrderItems { get; set; }
public virtual string Payer { get; set; }
public virtual string BillingAddressLine1 { get; set; }
public virtual string BillingAddressCity { get; set; }
public virtual string BillingAddressState { get; set; }
public virtual string BillingAddressPostalCode { get; set; }
public virtual string BillingAddressCountryCode { get; set; }
}
public partial class PurchaseOrderItemDto
{
public virtual int Id { get; set; }
public virtual int PurchaseOrderId { get; set; }
public virtual string ProductId { get; set; }
public virtual string ProductName { get; set; }
public virtual int Quantity { get; set; }
public virtual decimal Price { get; set; }
public virtual string DiscountDescription { get; set; }
public virtual string DiscountSource { get; set; }
public virtual decimal Discount { get; set; }
public virtual DateTime CreatedDate { get; set; }
}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .csv suffix or ?format=csv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /api/purchaseorders HTTP/1.1
Host: accounts.dev.healthmonix.com
Accept: text/csv
Content-Type: text/csv
Content-Length: length
{"userId":"String","userEmail":"String","createdDate":"0001-01-01T00:00:00.0000000","void":false,"couponCode":"String","orderItems":[{"id":0,"purchaseOrderId":0,"productId":"String","productName":"String","quantity":0,"price":0,"discountDescription":"String","discountSource":"String","discount":0,"createdDate":"0001-01-01T00:00:00.0000000"}],"paymentType":"String","billingInformationDto":{"cardNumber":"String","cardType":"String","expireMonth":0,"expireYear":0,"cvv2":"String","firstName":"String","lastName":"String","city":"String","countryCode":"String","line1":"String","postalCode":"String","state":"String"}}
HTTP/1.1 200 OK Content-Type: text/csv Content-Length: length {"message":"String","status":"Continue","purchaseOrder":{"id":0,"userId":"String","createdDate":"0001-01-01T00:00:00.0000000","paymentType":"String","void":false,"paid":false,"transactionIdentifier":"String","couponCode":"String","orderItems":[{"id":0,"purchaseOrderId":0,"productId":"String","productName":"String","quantity":0,"price":0,"discountDescription":"String","discountSource":"String","discount":0,"createdDate":"0001-01-01T00:00:00.0000000"}],"payer":"String","billingAddressLine1":"String","billingAddressCity":"String","billingAddressState":"String","billingAddressPostalCode":"String","billingAddressCountryCode":"String"},"details":[{"code":"String","field":"String","issue":"String"}]}