/// <summary> /// Create Invoice For Closure Charge and Auction Invoicing /// </summary> private void CreateInvoice(string type) { var tasks = new List <Task <ResultDTO> >(); var results = new List <string>(); //try { LogService.WriteInfo("Begin Mass Billing " + type); DraftService lObjDraftService = new DraftService(); lObjDraftService.DeleteDrafts(type); foreach (var doc in pendingInvoices) { // tasks.Add(Task.Run(() => { try { LogService.WriteInfo("Begin Creating Invoice for Cient: " + doc.Code); var invoice = new DocumentDTO(); invoice.Document = doc; invoice.FloorServiceLines = massInvoicingDAO.GetFloorServiceLines(doc.Code, user.WhsCode, type); invoice.DeliveryLines = massInvoicingDAO.GetDeliveryLines(doc.Code, user.WhsCode); //invoice.FloorServiceLines = massInvoicingDAO.GetFloorServiceLines(doc.Code, "CRHE", type); //invoice.DeliveryLines = massInvoicingDAO.GetDeliveryLines(doc.Code, "CRHE"); if (invoice.FloorServiceLines.Count == 0 && invoice.DeliveryLines.Count == 0) { results.Add("Sin servicio de piso ni entregas de alimento"); } else { results.Add(InvoiceDI.CreateInvoice(invoice, user, floorServiceItem, type).Message); } LogService.WriteInfo("Successfully Creating Invoice for Cient: " + doc.Code); // })); //Thread.Sleep(130); } catch (Exception ex) { HandleException(ex, "[Exception] Invoice for Client " + doc.Code); } //Task.WaitAll(tasks.ToArray()); } //catch(AggregateException ae) { // ae.Handle(e => { // HandleException(e, "(Closure)"); // return true; // }); //} //catch(Exception ex) { // HandleException(ex, "(Closure)"); //} Task.Factory.StartNew(() => { // BindResultColumn(tasks.Select(t => t.Result.Message).AsParallel().AsOrdered().ToList(), type); BindResultColumn(results, type); LogService.WriteInfo("Done Mass Billing " + type); }); UIApplication.ShowMessageBox("Revisar la Columna de Resultados"); }
/// <summary> /// Normal Charge: Open the Invoice Form with the preliminary /// </summary> private void Normal() { try { var results = new List <string>(); var result = new ResultDTO(); var client = dt0.GetValue("C_Code", selectedRow - 1).ToString(); var invoice = new DocumentDTO(); invoice.Document = pendingInvoices[selectedRow - 1]; //invoice.FloorServiceLines = floorServiceLines; floorServiceLines = massInvoicingDAO.GetFloorServiceLines(client, user.WhsCode, "N"); invoice.FloorServiceLines = floorServiceLines; invoice.DeliveryLines = massInvoicingDAO.GetDeliveryLines(client, user.WhsCode); if (invoice.FloorServiceLines.Count == 0 && invoice.DeliveryLines.Count == 0) { results.Add("Sin servicio de piso ni entregas de alimento"); } else { result = InvoiceDI.CreateDraft(invoice, user, floorServiceItem, "N"); } if (result.Success) { selectedRow = 0; invoicedFlag = true; SAPbouiCOM.Framework.Application.SBO_Application.OpenForm((BoFormObjectEnum)112, "", result.Message); } else { UIApplication.ShowMessageBox(String.Format("Error: {0}", result.Message)); } } catch (Exception ex) { HandleException(ex, "(Normal)"); } }
public PurchaseInvoiceService() { lObjPurchaseInvoice = new PurchaseInvoiceDAO(); lObjInvoiceDI = new InvoiceDI(); }