private XDocument buildInfomediaRequest(string ticket) { var rep = new Repository(); var docMaker = new CustomerAdd(); var user = rep.GetUser(WebSecurity.CurrentUserId); bool requiresInventoryUpdate = user.Client.RequiresInventoryUpdate ?? false; bool requiresTaxCodeUpdate = user.Client.RequiresTaxCodeUpdate ?? false; var customer = rep.GetUnprocessedCustomersByTransaction(ticket).FirstOrDefault(); var order = rep.GetUnprocessedOrdersByTransaction(ticket).FirstOrDefault(); var transaction = rep.GetTransaction(ticket); if(requiresTaxCodeUpdate && transaction.ProcessedItemSalesTaxQueryRs != true) { var doc = SalesTax.ItemSalesTaxQueryRq; transaction.ProcessedItemSalesTaxQueryRs = true; rep.Save(); return doc; } else if(requiresTaxCodeUpdate) { var doc = SalesTax.ItemSalesTaxGroupQueryRq; user.Client.RequiresTaxCodeUpdate = false; rep.Save(); return doc; } else if(requiresInventoryUpdate && transaction.ProcessedItemInventoryQuery != true) { var doc = Inventory.ItemInventoryFullQueryRq(); transaction.ProcessedItemInventoryQuery = true; rep.Save(); return doc; } else if(requiresInventoryUpdate) { if(user.Client.IsContentEditsShop ?? false) { UpdateShopInventory(); } var doc = Inventory.ItemNonInventoryFullQueryRq(); user.Client.RequiresInventoryUpdate = false; rep.Save(); return doc; } else if(customer != null) { var doc = docMaker.GetCustomer(customer.CustomerID,customer.Orders.FirstOrDefault().OrderNumber); customer.CurrentRequest = true; customer.Reported = true; rep.Save(); return doc; } if (order.AmountDiscount != null && order.AmountDiscount > 0 ) { Error.ProcessFailedOrder(order); order.Reported = true; rep.Save(); order = rep.GetUnprocessedOrdersByTransaction(ticket).FirstOrDefault(); } else if ( order != null) { var fullinvoice = new FullInvoice(); //var invoice = new Invoice(); var doc = fullinvoice.GetInvoice(order.Customer.CustomerID, order.OrderID); order.Reported = true; rep.Save(); return doc; } return null; }
public string Test(int orderID) { var order = rep.GetQuickBooksOrder(false,orderID); var invoice = new FullInvoice(); return invoice.GetInvoice(order.CustomerID, orderID).ToString(); }