private Invoice InvoiceMapFrom(IAcctInvoice acctInvoice, Invoice invoice) { invoice.TxnID = ((AcctInvoice)acctInvoice).TxnID; invoice.EditSequence = ((AcctInvoice)acctInvoice).EditSequence; invoice.TxnNumber = ((AcctInvoice)acctInvoice).TxnNumber; //invoice.TotalInvoice = ((AcctInvoice)acctInvoice).Subtotal.Value; invoice.InvoiceNumber = ((AcctInvoice)acctInvoice).RefNumber; invoice.TxnDate = ((AcctInvoice)acctInvoice).TxnDate; invoice.DueDate = ((AcctInvoice)acctInvoice).DueDate; return invoice; }
public string DoCreateInvoice(Invoice invoice, Identification identification) { logger.Log(LogLevel.Trace, AppLib.GetCaller(logger)); using (SampleDAO dao = new SampleDAO()) { return dao.CreateInvoice(invoice, identification); } }
public IAsyncResult BeginCreateInvoice(Invoice invoice, Identification identification, AsyncCallback callback, object state) { logger.Log(LogLevel.Trace, AppLib.GetCaller(logger)); if (AppLib.VerifyToken(identification.Token) <= 0) throw new FaultException<ServiceFault>( new ServiceFault("Invalid Authentication", "Authorization"), new FaultReason("Unauthorized")); if (!AppLib.IsAuthorized(identification, SysLib.GetOptionName(ModuleNames.Samples, ModuleAction.Invoice))) throw new FaultException<ServiceFault>(new ServiceFault("User account is not Authorized.", "Authorization"), new FaultReason("Restricted")); var task = Task<string>.Factory.StartNew(process => DoCreateInvoice(invoice, identification), state); return task.ContinueWith(res => callback(task)); }
private IAcctInvoice InvoiceMapTo(Invoice invoice) { AcctInvoice acctInvoice = new AcctInvoice(); acctInvoice.Customer = new AcctItemInfo() { ListID = string.IsNullOrWhiteSpace(invoice.AccountingId) ? null : invoice.AccountingId, FullName = string.IsNullOrWhiteSpace(invoice.ClientName) ? null : invoice.ClientName.ToString() }; acctInvoice.TxnDate = DateTime.Now; acctInvoice.PONumber = invoice.PONumber; acctInvoice.Memo = invoice.Memo; acctInvoice.CustomerMsg = new AcctItemInfo() { FullName = "Thank you for your business." }; acctInvoice.IsToBePrinted = true; acctInvoice.IsToBeEmailed = false; acctInvoice.Template = new AcctItemInfo() { FullName = "Intuit Service Invoice" }; acctInvoice.InvoiceItems = new List<AcctInvoiceItem>(); foreach (InvoiceItem invoiceItem in invoice.InvoiceItems) { AcctInvoiceItem acctInvoiceItem = new AcctInvoiceItem() { InvoiceLineItem = new AcctInvoiceLineItem() { ItemRef = new AcctItemInfo() { FullName = invoiceItem.AccountingCode }, Amount = invoiceItem.Amount, Desc = invoiceItem.Description, Quantity = invoiceItem.Quantity, } }; acctInvoice.InvoiceItems.Add(acctInvoiceItem); } return acctInvoice; //AcctInvoice acctInvoice = new AcctInvoice(); //acctInvoice.Customer = new AcctItemInfo() { ListID = "8000002E-1395760281" }; //acctInvoice.TxnDate = DateTime.Now; //acctInvoice.PONumber = "PO#123"; //acctInvoice.Memo = "Invoice Memo"; //acctInvoice.CustomerMsg = new AcctItemInfo() { FullName = "Thank you for your business." }; //acctInvoice.IsToBePrinted = true; //acctInvoice.IsToBeEmailed = false; //acctInvoice.Template = new AcctItemInfo() { FullName = "Intuit Service Invoice" }; //acctInvoice.InvoiceItems = new List<AcctInvoiceItem> { // new AcctInvoiceItem() { // InvoiceLineItem = new AcctInvoiceLineItem() { // ItemRef = new AcctItemInfo() { FullName = "ARLTEST" }, // Amount = 100.00, // Desc = "Item Description 1", // Quantity = 1.00, // }}, // new AcctInvoiceItem() { // InvoiceLineItem = new AcctInvoiceLineItem() { // ItemRef = new AcctItemInfo() { FullName = "ARLTEST" }, // Amount = 200.00, // Desc = "Item Description 2", // Quantity = 1.00, // }}, // new AcctInvoiceItem() { // InvoiceLineItem = new AcctInvoiceLineItem() { // ItemRef = new AcctItemInfo() { FullName = "ARLTEST" }, // Amount = 300.00, // Desc = "Item Description 3", // Quantity = 1.00, // }}, // new AcctInvoiceItem() { // InvoiceLineItem = new AcctInvoiceLineItem() { // ItemRef = new AcctItemInfo() { FullName = "ARLTEST" }, // Amount = 400.00, // Desc = "Item Description 4", // Quantity = 1.00, // }}, // new AcctInvoiceItem() { // InvoiceLineItem = new AcctInvoiceLineItem() { // ItemRef = new AcctItemInfo() { FullName = "ARLTEST" }, // Amount = 500.00, // Desc = "Item Description 5", // Quantity = 1.00, // }}, //}; }
public Invoice InvoiceAdd(Invoice invoice) { return InvoiceMapFrom(new InvoiceService().InvoiceAdd(InvoiceMapTo(invoice)), invoice); }
public CreateInvoiceRequest(Invoice invoice) { this.invoice = invoice; }