/// <summary>
 /// Initialize current instance
 /// </summary>
 /// <param name="window">Owner window</param>
 /// <param name="sale">Sale to do payment</param>
 /// <param name="model">Data model</param>
 public PaymentsSale(Window window, Sale sale, LeposWPFModel model)
 {
     this.Model = model;
     this.Sale = sale;
     this.Owner = window;
     InitializeComponent();
 }
Exemple #2
0
        //Venta
        public static void TicketVenta(Sale sale, String clientName)
        {
            Company empresa = CompanyHelper.currentCompany;
            Ticket ticket = getTicket(clientName);
            ticket.AddHeaderLine(empresa.Name);
            ticket.AddHeaderLine(empresa.Description);
            ticket.AddHeaderLine(empresa.Address);
            ticket.AddSubHeaderLine("Venta # " + sale.ID);
            ticket.AddSubHeaderLine(DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString());

            foreach (var row in sale.SaleProducts)
            {
                String cantidad = row.Quantity+"";
                String descripcion =row.Product.Description;
                double precio = row.Price;
                ticket.AddItem(cantidad, descripcion, precio.ToString("C"));
            }

            double total = sale.Total;
            double descuento = 1.0 - (sale.Discount/ 100.0);
            double subtotal = sale.Total / descuento;
            double siva;
            double iva = 0;
            int ivaconf = sale.IVAType;
            switch (ivaconf)
            {
                case 1:
                    subtotal = sale.Total / descuento;
                    siva = subtotal * descuento;
                    iva = total / 1.16 * 0.16;
                    break;
                case 2:
                    subtotal = (sale.Total / 1.16) / descuento;
                    iva = total / 1.16 * 0.16;
                    break;
            }
            String tipo = !sale.IsCredit ? "Contado" : "Crédito";
            ticket.AddTotal("Tipo Venta", tipo);
            ticket.AddTotal("SUBTOTAL", subtotal.ToString("C"));
            ticket.AddTotal("% Descuento", sale.Discount.ToString());
            if(ivaconf!=0)
                ticket.AddTotal("IVA", iva.ToString("C"));
            ticket.AddTotal("TOTAL", sale.Total.ToString("C"));

            ticket.AddTotal("", "");
            ticket.AddFooterLine("VUELVA PRONTO");
            printTicket(ref ticket);
        }
Exemple #3
0
        //AbonoVenta
        public static void TicketAbonoVentaCredito(SalePayment abono, Sale venta, Double deuda, String clientName)
        {
            Company empresa = CompanyHelper.currentCompany;
            Ticket ticket = getTicket(clientName);

            ticket.AddSubHeaderLine("Venta # " + venta.ID);
            ticket.AddSubHeaderLine("Abono # " + abono.ID);
            ticket.AddSubHeaderLine(DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString());

            ticket.AddTotal("Total Venta", venta.Total.ToString("C"));
            ticket.AddTotal("Deuda:", deuda.ToString("C"));
            ticket.AddTotal("Abono:", abono.Payment.ToString("C"));
            ticket.AddTotal("Saldo:", (deuda-abono.Payment).ToString("C"));
            ticket.AddTotal("", "");

            ticket.AddFooterLine("VUELVA PRONTO");
            printTicket(ref ticket);
        }
Exemple #4
0
 //Venta
 public static void TicketVenta(DataGridView dgvVenta, Sale venta, String recibo, String cambio, String clientName)
 {
     Company empresa = CompanyHelper.currentCompany;
     Ticket ticket = getTicket(clientName);
     ticket.AddSubHeaderLine("Venta # " + venta.ID);
     ticket.AddSubHeaderLine(DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString());
     foreach(DataGridViewRow row in dgvVenta.Rows)
     {
         String cantidad = row.Cells[2].Value.ToString();
         String descripcion = row.Cells[1].Value.ToString();
         double precio = double.Parse(row.Cells[3].Value.ToString());
         ticket.AddItem(cantidad, descripcion, precio.ToString("C"));
     }
     double total = venta.Total;
     double descuento = 1.0 - (venta.Discount / 100.0);
     double subtotal = venta.Total / descuento;
     double siva;
     double iva = 0;
     int ivaconf = venta.IVAType;
     switch (ivaconf)
     {
         case 1:
             siva = subtotal * descuento;
             iva = total / 1.16 * 0.16;
             break;
         case 2:
             subtotal = (venta.Total / 1.16) / descuento;
             iva = total / 1.16 * 0.16;
             break;
     }
     String tipo = !venta.IsCredit ? "Contado" : "Crédito";
     ticket.AddTotal("Tipo Venta", tipo);
     ticket.AddTotal("SUBTOTAL", subtotal.ToString("C"));
     ticket.AddTotal("% Descuento", venta.Discount.ToString());
     if (ivaconf != 0)
         ticket.AddTotal("IVA", iva.ToString("C"));
        if (!venta.IsCredit)
     {
         ticket.AddTotal("TOTAL", venta.Total.ToString("C"));
         ticket.AddTotal("Recibo", double.Parse(recibo).ToString("C"));
         ticket.AddTotal("Cambio", cambio);
     }
     else
     {
         ticket.AddTotal("Adeudo", venta.Total.ToString("C"));
         ticket.AddHeaderLine("Fecha Máxima de Pago");
         DateTime fechaVenta = DateTime.Now;
         DateTime fc = fechaVenta.AddDays(venta.CreditDays);
         ticket.AddHeaderLine(fc.ToString());
     }
     ticket.AddTotal("", "");
     ticket.AddFooterLine("VUELVA PRONTO");
     printTicket(ref ticket);
 }
 /// <summary>
 /// Initialize current instance
 /// </summary>
 /// <param name="window">Owner window</param>
 /// <param name="sale">Sale to display values</param>
 public SaleDetail(Window window, Sale sale)
 {
     this.Owner = window;
     this.sale = sale;
     InitializeComponent();
 }
Exemple #6
0
        /// <summary>
        /// Create sale
        /// </summary>
        /// <param name="isCredit">Flag that indicates whether is a credi sale or not</param>
        /// <param name="creditDays">Number of credit days</param>
        internal void doSale(Boolean isCredit, int creditDays)
        {
            Sale sale = new Sale();
            dynamic selectedClient = clientComboBox.SelectedItem;
            sale.CreditDays = creditDays;
            sale.Client_ID = selectedClient.ID;
            sale.Date = DateTime.Now;
            sale.Discount = discountIntegerUpDown.Value.Value;
            sale.IsCredit = isCredit;
            sale.IVAType = CompanyHelper.currentCompany.IVAType;
            sale.Total = Total;
            sale.SubTotal = SubTotal;
            sale.User_ID = UserHelper.loggedUser.ID;
            sale.IsWholeSale = wholesaleCheckBox.IsChecked.Value;
            model.Sales.Add(sale);
            model.SaveChanges();
            for (int x = 0; x < saleDataGrid.Items.Count; x++)
            {
                dynamic product = saleDataGrid.Items[x];
                var Product_ID = DataGridHelper.getTextDG(saleDataGrid, x, 0);
                var quantity = double.Parse(DataGridHelper.getTextDG(saleDataGrid, x, 2));

                //Update quantity record
                var mappedProduct = model.Products.Where(a => a.ID == Product_ID).FirstOrDefault();
                if (mappedProduct != null)
                    mappedProduct.Quantity -= quantity;

                var price = wholesaleCheckBox.IsChecked.Value ? product.WholeSalePrice : product.Price;
                sale.SaleProducts.Add(new SaleProduct { Sale_ID = sale.ID, Product_ID = Product_ID, Price = price, Quantity = quantity });
            }
            model.SaveChanges();
            if (ticketCheckBox.IsChecked.Value)
            {
                //do ticket shit
                String clientName = selectedClient.Name;
                TicketPOS.TicketVenta(sale, clientName);
            }
            displayText("La venta se ha guardado satisfactoriamente");
            resetSale();
        }