Hmx Accounts

<back to all web services

CreatePurchaseOrder

The following routes are available for this service:
POST/api/purchaseordersCreate a new PurchaseOrder
import 'package:servicestack/servicestack.dart';

class PurchaseOrderItem implements IConvertible
{
    int? id;
    // @References(typeof(PurchaseOrder))
    int? purchaseOrderId;

    // @References(typeof(Product))
    String? productId;

    String? productName;
    int? quantity;
    double? price;
    String? discountDescription;
    String? discountSource;
    double? discount;
    DateTime? createdDate;

    PurchaseOrderItem({this.id,this.purchaseOrderId,this.productId,this.productName,this.quantity,this.price,this.discountDescription,this.discountSource,this.discount,this.createdDate});
    PurchaseOrderItem.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        purchaseOrderId = json['purchaseOrderId'];
        productId = json['productId'];
        productName = json['productName'];
        quantity = json['quantity'];
        price = JsonConverters.toDouble(json['price']);
        discountDescription = json['discountDescription'];
        discountSource = json['discountSource'];
        discount = JsonConverters.toDouble(json['discount']);
        createdDate = JsonConverters.fromJson(json['createdDate'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'purchaseOrderId': purchaseOrderId,
        'productId': productId,
        'productName': productName,
        'quantity': quantity,
        'price': price,
        'discountDescription': discountDescription,
        'discountSource': discountSource,
        'discount': discount,
        'createdDate': JsonConverters.toJson(createdDate,'DateTime',context!)
    };

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

class PurchaseOrderDto implements IConvertible
{
    int? id;
    String? userId;
    DateTime? createdDate;
    String? paymentType;
    bool? Void;
    bool? paid;
    String? transactionIdentifier;
    String? couponCode;
    List<PurchaseOrderItem>? orderItems;
    String? payer;
    String? billingAddressLine1;
    String? billingAddressCity;
    String? billingAddressState;
    String? billingAddressPostalCode;
    String? billingAddressCountryCode;

    PurchaseOrderDto({this.id,this.userId,this.createdDate,this.paymentType,this.Void,this.paid,this.transactionIdentifier,this.couponCode,this.orderItems,this.payer,this.billingAddressLine1,this.billingAddressCity,this.billingAddressState,this.billingAddressPostalCode,this.billingAddressCountryCode});
    PurchaseOrderDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        userId = json['userId'];
        createdDate = JsonConverters.fromJson(json['createdDate'],'DateTime',context!);
        paymentType = json['paymentType'];
        Void = json['void'];
        paid = json['paid'];
        transactionIdentifier = json['transactionIdentifier'];
        couponCode = json['couponCode'];
        orderItems = JsonConverters.fromJson(json['orderItems'],'List<PurchaseOrderItem>',context!);
        payer = json['payer'];
        billingAddressLine1 = json['billingAddressLine1'];
        billingAddressCity = json['billingAddressCity'];
        billingAddressState = json['billingAddressState'];
        billingAddressPostalCode = json['billingAddressPostalCode'];
        billingAddressCountryCode = json['billingAddressCountryCode'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'userId': userId,
        'createdDate': JsonConverters.toJson(createdDate,'DateTime',context!),
        'paymentType': paymentType,
        'void': Void,
        'paid': paid,
        'transactionIdentifier': transactionIdentifier,
        'couponCode': couponCode,
        'orderItems': JsonConverters.toJson(orderItems,'List<PurchaseOrderItem>',context!),
        'payer': payer,
        'billingAddressLine1': billingAddressLine1,
        'billingAddressCity': billingAddressCity,
        'billingAddressState': billingAddressState,
        'billingAddressPostalCode': billingAddressPostalCode,
        'billingAddressCountryCode': billingAddressCountryCode
    };

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

class Details implements IConvertible
{
    String? code;
    String? field;
    String? issue;

    Details({this.code,this.field,this.issue});
    Details.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        code = json['code'];
        field = json['field'];
        issue = json['issue'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'code': code,
        'field': field,
        'issue': issue
    };

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

class CreatePurchaseOrderResponse implements IConvertible
{
    String? message;
    HttpStatusCode? status;
    PurchaseOrderDto? purchaseOrder;
    List<Details>? details;

    CreatePurchaseOrderResponse({this.message,this.status,this.purchaseOrder,this.details});
    CreatePurchaseOrderResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        message = json['message'];
        status = JsonConverters.fromJson(json['status'],'HttpStatusCode',context!);
        purchaseOrder = JsonConverters.fromJson(json['purchaseOrder'],'PurchaseOrderDto',context!);
        details = JsonConverters.fromJson(json['details'],'List<Details>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'message': message,
        'status': JsonConverters.toJson(status,'HttpStatusCode',context!),
        'purchaseOrder': JsonConverters.toJson(purchaseOrder,'PurchaseOrderDto',context!),
        'details': JsonConverters.toJson(details,'List<Details>',context!)
    };

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

class PurchaseOrderItemDto implements IConvertible
{
    int? id;
    int? purchaseOrderId;
    String? productId;
    String? productName;
    int? quantity;
    double? price;
    String? discountDescription;
    String? discountSource;
    double? discount;
    DateTime? createdDate;

    PurchaseOrderItemDto({this.id,this.purchaseOrderId,this.productId,this.productName,this.quantity,this.price,this.discountDescription,this.discountSource,this.discount,this.createdDate});
    PurchaseOrderItemDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        purchaseOrderId = json['purchaseOrderId'];
        productId = json['productId'];
        productName = json['productName'];
        quantity = json['quantity'];
        price = JsonConverters.toDouble(json['price']);
        discountDescription = json['discountDescription'];
        discountSource = json['discountSource'];
        discount = JsonConverters.toDouble(json['discount']);
        createdDate = JsonConverters.fromJson(json['createdDate'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'purchaseOrderId': purchaseOrderId,
        'productId': productId,
        'productName': productName,
        'quantity': quantity,
        'price': price,
        'discountDescription': discountDescription,
        'discountSource': discountSource,
        'discount': discount,
        'createdDate': JsonConverters.toJson(createdDate,'DateTime',context!)
    };

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

class BillingInformationDto implements IConvertible
{
    String? cardNumber;
    String? cardType;
    int? expireMonth;
    int? expireYear;
    String? cvv2;
    String? firstName;
    String? lastName;
    String? city;
    String? countryCode;
    String? line1;
    String? postalCode;
    String? state;

    BillingInformationDto({this.cardNumber,this.cardType,this.expireMonth,this.expireYear,this.cvv2,this.firstName,this.lastName,this.city,this.countryCode,this.line1,this.postalCode,this.state});
    BillingInformationDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        cardNumber = json['cardNumber'];
        cardType = json['cardType'];
        expireMonth = json['expireMonth'];
        expireYear = json['expireYear'];
        cvv2 = json['cvv2'];
        firstName = json['firstName'];
        lastName = json['lastName'];
        city = json['city'];
        countryCode = json['countryCode'];
        line1 = json['line1'];
        postalCode = json['postalCode'];
        state = json['state'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'cardNumber': cardNumber,
        'cardType': cardType,
        'expireMonth': expireMonth,
        'expireYear': expireYear,
        'cvv2': cvv2,
        'firstName': firstName,
        'lastName': lastName,
        'city': city,
        'countryCode': countryCode,
        'line1': line1,
        'postalCode': postalCode,
        'state': state
    };

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

class CreatePurchaseOrder implements IConvertible
{
    String? userId;
    String? userEmail;
    DateTime? createdDate;
    bool? Void;
    String? couponCode;
    List<PurchaseOrderItemDto>? orderItems;
    String? paymentType;
    BillingInformationDto? billingInformationDto;

    CreatePurchaseOrder({this.userId,this.userEmail,this.createdDate,this.Void,this.couponCode,this.orderItems,this.paymentType,this.billingInformationDto});
    CreatePurchaseOrder.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        userId = json['userId'];
        userEmail = json['userEmail'];
        createdDate = JsonConverters.fromJson(json['createdDate'],'DateTime',context!);
        Void = json['void'];
        couponCode = json['couponCode'];
        orderItems = JsonConverters.fromJson(json['orderItems'],'List<PurchaseOrderItemDto>',context!);
        paymentType = json['paymentType'];
        billingInformationDto = JsonConverters.fromJson(json['billingInformationDto'],'BillingInformationDto',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'userId': userId,
        'userEmail': userEmail,
        'createdDate': JsonConverters.toJson(createdDate,'DateTime',context!),
        'void': Void,
        'couponCode': couponCode,
        'orderItems': JsonConverters.toJson(orderItems,'List<PurchaseOrderItemDto>',context!),
        'paymentType': paymentType,
        'billingInformationDto': JsonConverters.toJson(billingInformationDto,'BillingInformationDto',context!)
    };

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

TypeContext _ctx = TypeContext(library: 'accounts.dev.healthmonix.com', types: <String, TypeInfo> {
    'PurchaseOrderItem': TypeInfo(TypeOf.Class, create:() => PurchaseOrderItem()),
    'PurchaseOrderDto': TypeInfo(TypeOf.Class, create:() => PurchaseOrderDto()),
    'List<PurchaseOrderItem>': TypeInfo(TypeOf.Class, create:() => <PurchaseOrderItem>[]),
    'Details': TypeInfo(TypeOf.Class, create:() => Details()),
    'CreatePurchaseOrderResponse': TypeInfo(TypeOf.Class, create:() => CreatePurchaseOrderResponse()),
    'HttpStatusCode': TypeInfo(TypeOf.Class, create:() => HttpStatusCode()),
    'List<Details>': TypeInfo(TypeOf.Class, create:() => <Details>[]),
    'PurchaseOrderItemDto': TypeInfo(TypeOf.Class, create:() => PurchaseOrderItemDto()),
    'BillingInformationDto': TypeInfo(TypeOf.Class, create:() => BillingInformationDto()),
    'CreatePurchaseOrder': TypeInfo(TypeOf.Class, create:() => CreatePurchaseOrder()),
    'List<PurchaseOrderItemDto>': TypeInfo(TypeOf.Class, create:() => <PurchaseOrderItemDto>[]),
});

Dart CreatePurchaseOrder DTOs

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

HTTP + 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"}]}