//---------------------------------------------------------------------------------------------
// This file was AUTO-GENERATED by "XomegaJS Data Objects" Xomega.Net generator.
//
// Manual CHANGES to this file WILL BE LOST when the code is regenerated.
//---------------------------------------------------------------------------------------------

import { CreditCardPaymentObject } from 'DataObjects/Sales/CreditCardPaymentObjectCustomized';
import { DataObject, TextProperty, DateProperty, MoneyProperty, EnumIntProperty } from 'xomega';

export class SalesOrderPaymentObject extends DataObject {

    // Properties
    public CurrencyRate: TextProperty;
    public DueDate: DateProperty;
    public Freight: MoneyProperty;
    public ShipMethodId: EnumIntProperty;
    public SubTotal: MoneyProperty;
    public TaxAmt: MoneyProperty;
    public TotalDue: MoneyProperty;

    // Child Objects
    public CreditCardObject: CreditCardPaymentObject;

    // Construction and initialization
    init() {
        this.CurrencyRate = new TextProperty();
        this.CurrencyRate.Editable(false);
        this.DueDate = new DateProperty();
        this.DueDate.Required(true);
        this.Freight = new MoneyProperty();
        this.Freight.Required(true);
        this.Freight.Editable(false);
        this.ShipMethodId = new EnumIntProperty();
        this.ShipMethodId.Required(true);
        this.ShipMethodId.EnumType = "ship method";
        this.SubTotal = new MoneyProperty();
        this.SubTotal.Required(true);
        this.SubTotal.Editable(false);
        this.TaxAmt = new MoneyProperty();
        this.TaxAmt.Required(true);
        this.TaxAmt.Editable(false);
        this.TotalDue = new MoneyProperty();
        this.TotalDue.Required(true);
        this.TotalDue.Editable(false);

        // create child objects
        this.CreditCardObject = new CreditCardPaymentObject();
    }
}
