示例#1
0
        /// <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");
        }
示例#2
0
        /// <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)");
            }
        }
示例#3
0
 public PurchaseInvoiceService()
 {
     lObjPurchaseInvoice = new PurchaseInvoiceDAO();
     lObjInvoiceDI       = new InvoiceDI();
 }