示例#1
0
        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;
        }
示例#2
0
        public string DoCreateInvoice(Invoice invoice, Identification identification)
        {
            logger.Log(LogLevel.Trace, AppLib.GetCaller(logger));

            using (SampleDAO dao = new SampleDAO()) {
                return dao.CreateInvoice(invoice, identification);
            }
        }
示例#3
0
        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));
        }
示例#4
0
        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,
            //    }},
            //};
        }
示例#5
0
 public Invoice InvoiceAdd(Invoice invoice)
 {
     return InvoiceMapFrom(new InvoiceService().InvoiceAdd(InvoiceMapTo(invoice)), invoice);
 }
示例#6
0
 public CreateInvoiceRequest(Invoice invoice)
 {
     this.invoice = invoice;
 }