///Added by Cognizant on 04/06/2010 for the echeck paymentprocessing as a part of HO6
 //echeck changes - start
 /// <summary>
 /// Initializes a new Payment with the requested fields. Generally used for echeck payments.
 /// </summary>
 /// <param name="PaymentType">(PaymentType)  PaymentType </param>
 /// <param name="Operation">(ServiceOperation) The operation to do.</param>
 /// <param name="Application">(string) The name (code) of the calling application.</param>
 /// <param name="Reference">(string) Merchant reference number.</param>
 /// <param name="ReceiptNumber">(string) The reciept number for this payment.</param>
 /// <param name="echeck">(CardInfo) The credit card information.</param>
 /// <param name="BillTo">(BillTo) The bill to address.</param>
 /// <param name="Items">(ArrayOfLineItems) An array of Line Items being paid for.</param>
 /// <param name="User">(UserInfo) The logged-in operator making the request.</param>
 public Payment(PaymentTypes PaymentType, ServiceOperation Operation, string Application, string Reference,
                string ReceiptNumber, eCheckInfo echeck, BillToInfo BillTo, ArrayOfLineItem Items, UserInfo User)
 {
     this.PaymentType   = PaymentType;
     this.Operation     = Operation;
     this.Reference     = Reference;
     this.ReceiptNumber = ReceiptNumber;
     this.echeck        = echeck;
     this.Application   = Application;
     this.BillTo        = BillTo;
     this.LineItems     = Items;
     this.User          = User;
     SetAmount();
 }
 /// <summary>
 /// Initializes a new Payment with the requested fields. Generally used for credit card payments.
 /// </summary>
 /// <param name="Operation">(ServiceOperation) The operation to do.</param>
 /// <param name="Application">(string) The name (code) of the calling application.</param>
 /// <param name="Reference">(string) Merchant reference number.</param>
 /// <param name="ReceiptNumber">(string) The reciept number for this payment.</param>
 /// <param name="Card">(CardInfo) The credit card information.</param>
 /// <param name="BillTo">(BillTo) The bill to address.</param>
 /// <param name="Items">(ArrayOfLineItems) An array of Line Items being paid for.</param>
 /// <param name="VerbalAuthorization">(string) An authorization code obtained from the bank over the telephone.</param>
 /// <param name="User">(UserInfo) The logged-in operator making the request.</param>
 public Payment(ServiceOperation Operation, string Application, string Reference, string VerbalAuthorization,
                string ReceiptNumber, CardInfo Card, BillToInfo BillTo, ArrayOfLineItem Items, UserInfo User)
 {
     this.Operation           = Operation;
     this.Reference           = Reference;
     this.ReceiptNumber       = ReceiptNumber;
     this.VerbalAuthorization = VerbalAuthorization;
     this.Card        = Card;
     this.Application = Application;
     this.BillTo      = BillTo;
     this.LineItems   = Items;
     this.User        = User;
     //			if (Reference!=null)
     //			{
     //				this.ReceiptNumber = "NT12345";
     //			}
     SetAmount();
 }