Esempio n. 1
0
        /// <summary>
        /// Devuelve una estructura que permite ser interpretada para la creación de charts.
        /// </summary>
        /// <param name="queryFilter"></param>
        /// <returns></returns>
        public Dictionary <string, ArrayList[]> GetReportForSales(Dictionary <String, QueryFilter> filters)
        {
            QueryFilter        queryFilter   = filters["Type"];
            InvoiceMapper      invoiceMapper = new InvoiceMapper();
            List <QueryFilter> qfResult      = invoiceMapper.GetSales(filters);

            if (qfResult == null)
            {
                return(null);
            }

            Dictionary <string, ArrayList[]> chartSeries = new Dictionary <string, ArrayList[]>();

            chartSeries.Add(queryFilter.Key, new ArrayList[2] {
                new ArrayList(), new ArrayList()
            });

            foreach (QueryFilter qf in qfResult)
            {
                chartSeries[queryFilter.Key][0].Add(qf.Key);
                chartSeries[queryFilter.Key][1].Add(Convert.ToDouble(qf.Value));
            }

            return(chartSeries);
        }
Esempio n. 2
0
        /// <summary>
        /// Persiste la factura en el sistema.
        /// </summary>
        /// <param name="invoice"></param>
        private void SaveInvoice(Invoice invoice)
        {
            //Persistir el invoice: debería hacerse en una transacción
            AddressManager    addressManager    = new AddressManager();
            InvoiceMapper     invoiceMapper     = new InvoiceMapper();
            InvoiceItemMapper invoiceItemMapper = new InvoiceItemMapper();
            // TODO - si se crea un manager, mover la tarjeta
            CreditCardMapper        creditCardMapper   = new CreditCardMapper();
            InvoiceCreditCardMapper invoiceCCMapper    = new InvoiceCreditCardMapper();
            InvoiceCreditNoteMapper invoiceCNoteMapper = new InvoiceCreditNoteMapper();

            addressManager.Save(invoice.BillingAddress);
            invoiceMapper.Save(invoice);
            invoiceItemMapper.Save(invoice);

            if (invoice.CreditCard != null)
            {
                creditCardMapper.Save(invoice.CreditCard);
                invoiceCCMapper.Save(invoice);
            }

            if (invoice.CreditNotes != null)
            {
                invoiceCNoteMapper.Save(invoice);
            }
        }
        public InvoiceModel Get(int invoiceId)
        {
            var invoice = this.Context.Invoices.FirstOrDefault(i => i.InvoiceId == invoiceId);
            var result  = InvoiceMapper.ToInvoiceModel(invoice, invoice.Projects, invoice.InvoicedTasks);

            return(result);
        }
        public void Insert(InvoiceModel model)
        {
            var invoice = InvoiceMapper.ToDBInvoice(model);

            this.Context.Invoices.Add(invoice);
            this.Save();
            model.InvoiceId = invoice.InvoiceId;
        }
 private InvoiceDTO InvoiceDTOMapper(Invoice invoice)
 {
     if (invoice != null)
     {
         mapper = new InvoiceMapper();
         return(mapper.InvoiceDTOMapper(invoice));
     }
     else
     {
         return(null);
     }
 }
Esempio n. 6
0
        public IActionResult Index(string filter)
        {
            var invoices = InvoiceMapper.MapManyToViewModel(invoiceService.GetInvoices());

            if (string.IsNullOrEmpty(filter))
            {
                return(View(invoices));
            }

            return(View(
                       invoices.Where(invoice =>
                                      invoice.InvoiceNumber.ToString().Contains(filter))));
        }
Esempio n. 7
0
        public IActionResult Details(int id)
        {
            if (id < 1)
            {
                return(BadRequest());
            }
            try
            {
                var mappedEmployees = EmployeeMapper.MapManyToViewModel(employeeService.GetEmployees());
                if (mappedEmployees == null)
                {
                    mappedEmployees = new List <EmployeeViewModel>();
                }

                var mappedInvoices = InvoiceMapper.MapManyToViewModel(invoiceService.GetInvoices());
                if (mappedInvoices == null)
                {
                    mappedInvoices = new List <InvoiceViewModel>();
                }

                var mappedProducts = ProductMapper.MapManyToViewModel(productService.GetProducts());
                if (mappedProducts == null)
                {
                    mappedProducts = new List <ProductViewModel>();
                }

                var mappedProtocols = ProtocolMapper.MapManyToViewModel(protocolService.GetProtocols());
                if (mappedProtocols == null)
                {
                    mappedProtocols = new List <ProtocolViewModel>();
                }

                var mappedClients = ClientMapper.MapManyToViewModel(clientService.GetClients());
                if (mappedClients == null)
                {
                    mappedClients = new List <ClientViewModel>();
                }

                var order       = orderService.GetOrderById(id);
                var mappedOrder = OrderMapper.MapToViewModel(order, order.Employee, order.Client, order.Product, order.Protocol, order.Invoice);

                var orderDetails = new OrderDetailsViewModel(mappedEmployees, mappedClients, mappedProducts, mappedProtocols, mappedInvoices, mappedOrder);

                return(View(orderDetails));
            }
            catch (Exception ex)
            {
                return(NotFound(ex.Message));
            }
        }
Esempio n. 8
0
 public IActionResult Update(InvoiceViewModel invoice)
 {
     if (!ModelState.IsValid)
     {
         return(BadRequest());
     }
     try
     {
         invoiceService.UpdateInvoice(InvoiceMapper.MapToDomainModel(invoice));
         return(RedirectToAction(nameof(Index)));
     }
     catch (Exception ex)
     {
         return(BadRequest(ex));
     }
 }
        public InvoiceContract Process(OrganizationEntityRequest input)
        {
            var parameter = new GetOrganizationEntity
            {
                OrganizationId = input.OrganizationId,
                Id             = input.Id
            };

            _query.BuildQuery(parameter);

            using (DapperUnitOfWork.Begin())
            {
                var invoice = _runner.Run(_query);

                var result = InvoiceMapper.Map(invoice);

                return(result);
            }
        }
        protected void btnAddInvoice_Click(object sender, EventArgs e)
        {
            Customer oCustomer = new Customer();

            oCustomer.sMobileNumber = txtMobileNumber.Text;
            oCustomer.sName         = txtName.Text;
            oCustomer.sPinCode      = txtPinCode.Text;
            oCustomer.sAddress      = txtAddress.Text;
            oCustomer.iState        = Convert.ToInt32(ddlState.SelectedItem.Value);

            InvoiceMapper objInvoice = new InvoiceMapper();

            if (objInvoice.IsCustomerExists(txtMobileNumber.Text))
            {
                objInvoice.UpdateExistingCustomer(oCustomer);
            }
            else
            {
                objInvoice.AddCustomer(oCustomer);
            }
        }
Esempio n. 11
0
        /// <summary>
        /// Genera el PDF para la descarga de la factura
        /// </summary>
        public string DownloadInvoice(int id)
        {
            AddressManager    addressManager    = new AddressManager();
            UserManager       userManager       = new UserManager();
            CreditNoteManager creditNoteManager = new CreditNoteManager();
            CreditCardManager creditCardmanager = new CreditCardManager();
            InvoiceItemMapper invoiceItemMapper = new InvoiceItemMapper();
            InvoiceMapper     invoiceMapper     = new InvoiceMapper();

            Invoice invoice = invoiceMapper.Get(id);

            invoice.BillingAddress = addressManager.Get(invoice.BillingAddress.Id);
            invoice.User           = userManager.Get(invoice.User.Id);
            invoice.InvoiceItems   = invoiceItemMapper.Get(invoice);

            foreach (InvoiceItem invoiceItem in invoice.InvoiceItems)
            {
                invoiceItem.Resource = new MapManager().Get(invoiceItem.Resource.Id);
            }

            invoice.CreditNotes = creditNoteManager.GetUsedByInvoice(invoice);
            invoice.CreditCard  = creditCardmanager.Get(invoice);

            if (invoice.CreditCard != null)
            {
                invoice.CreditCard.Field1 = SecurityHelper.RDesencrypt(invoice.CreditCard.Field1);
                invoice.CreditCard.Field4 = SecurityHelper.RDesencrypt(invoice.CreditCard.Field4);
            }

            string fullPath = PDFHelper.CreateInvoice(invoice);

            if (String.IsNullOrEmpty(fullPath))
            {
                string errorDescription = "Se ha producido un error al generar el archivo de la factura.";
                log.AddLogCritical("DownloadInvoice", errorDescription, this);
                AddError(new ResultBE(ResultBE.Type.FAIL, errorDescription));
            }

            return(fullPath);
        }
 public long Add(InvoiceDTO invoiceDTO)
 {
     try
     {
         long invoiceID = 0;
         mapper = new InvoiceMapper();
         if (invoiceDTO.SubmitingMode == "Update")
         {
         }
         else
         {
             invoiceID = _bheUOW.InvoiceRepository.Add(mapper.InvoiceEntityMapper(invoiceDTO));
         }
         _bheUOW.SaveChanges();
         return(invoiceID);
     }
     catch (Exception ex)
     {
         ExceptionHandler exceptionHandler = new ExceptionHandler();
         exceptionHandler.WrapLogException(ex);
         throw ex;
     }
 }
Esempio n. 13
0
        public IActionResult Details(int id)
        {
            if (id < 1)
            {
                return(BadRequest());
            }
            try
            {
                var clients       = clientService.GetClients();
                var orders        = orderService.GetOrders();
                var invoice       = invoiceService.GetInvoiceById(id);
                var mappedInvoice = InvoiceMapper.MapToViewModel(invoice, invoice.Order, invoice.Client);

                var details = new InvoiceDetailsViewModel(ClientMapper.MapManyToViewModel(clients), OrderMapper.MapManyToViewModel(orders));
                details.Invoice = mappedInvoice;

                return(View(details));
            }
            catch (Exception ex)
            {
                return(NotFound(ex));
            }
        }
Esempio n. 14
0
 public InvoicesController(FaciTechDbContext faciTechDbContext) : base(faciTechDbContext)
 {
     _invoiceMapper = new InvoiceMapper();
 }
Esempio n. 15
0
 public override async Task <BLL.App.DTO.Invoice> FindAsync(params object[] id)
 {
     return(InvoiceMapper.MapFromDAL(await Uow.Invoices.FindAsync(id)));
 }
 public InvoiceRepository()
 {
     _mapper = new InvoiceMapper();
 }
 public List <InvoiceModel> GetAll()
 {
     return(this.Context.Invoices.OrderByDescending(i => i.InvoiceDate)
            .Select(i => new { invoice = i, project = i.Projects, tasks = i.InvoicedTasks }).ToList()
            .Select(i => InvoiceMapper.ToInvoiceModel(i.invoice, i.project, i.tasks)).ToList());
 }