예제 #1
0
        private Boolean ValidItem()
        {
            if (pezAVender == null)
            {
                ManagerMessages.Instance.NewInformationMessage(this, "Seleccione un pez");
                return(false);
            }

            if (textboxCantidad.Text.Equals(String.Empty))
            {
                ManagerMessages.Instance.NewInformationMessage(this, "Ingrese la cantidad a vender");
                return(false);
            }
            else if (!ManagerFormats.Instance.MontoValido(textboxCantidad.Text) || Convert.ToInt32(textboxCantidad.Text) <= 0)
            {
                ManagerMessages.Instance.NewInformationMessage(this, "La cantidad ingresada es inválida");
                return(false);
            }

            if (!rBtnMinorista.Checked && !rBtnMayorista.Checked &&
                !rBtnOferta.Checked && !rBtnDistribuidor.Checked &&
                !rBtnOtro.Checked)
            {
                ManagerMessages.Instance.NewInformationMessage(this, "Seleccione un precio");
                return(false);
            }

            if (rBtnOtro.Checked && !ManagerFormats.Instance.MontoValido(textboxOtro.Text))
            {
                ManagerMessages.Instance.NewInformationMessage(this, "El monto ingresado no es válido");
                return(false);
            }

            if (ItemYaEnVenta(pezAVender.GetIdPez()))
            {
                ManagerMessages.Instance.NewInformationMessage(this, "El pez que desea agregar ya se encuentra agregado");
                return(false);
            }

            if (gridItems.Rows.Count >= ControllerVentas.ITEMS_POR_FACTURA)
            {
                ManagerMessages.Instance.NewInformationMessage(this, "Máximo de items por factura alcanzado. Para facturar más items, genere otra venta.");
                return(false);
            }

            if (pezAVender != null &&
                pezAVender.GetStock() - Convert.ToInt32(textboxCantidad.Text) < 0)
            {
                ManagerMessages.Instance.NewInformationMessage(this, "El stock del pez se volverá negativo, pero puede continuar con la venta.");
            }

            return(true);
        }
예제 #2
0
        private int GenerarVenta()
        {
            Decimal total = 0;

            List <EntitieVentaItem> items = new List <EntitieVentaItem>();
            int indexColIdPez             = ManagerGrids.Instance.GetColumnIndexByName(gridItems, "IDPEZ");
            int indexColPrecio            = ManagerGrids.Instance.GetColumnIndexByName(gridItems, "PRECIO");
            int indexColCantidad          = ManagerGrids.Instance.GetColumnIndexByName(gridItems, "CANTIDAD");

            for (int i = 0; i < gridItems.Rows.Count; i++)
            {
                int     idPez    = Convert.ToInt32(gridItems.Rows[i].Cells[indexColIdPez].Value);
                Decimal precio   = ManagerFormats.Instance.MoneyToDecimal(gridItems.Rows[i].Cells[indexColPrecio].Value.ToString());
                int     cantidad = ManagerFormats.Instance.NumberToInt(gridItems.Rows[i].Cells[indexColCantidad].Value.ToString());
                total += cantidad * precio;

                EntitiePez pez = ControllerPeces.Instance.GetPezById(idPez);
                items.Add(new EntitieVentaItem(0, pez.GetIdPez(), pez.GetNombre(), precio, cantidad));
            }

            int nroVenta = ControllerVentas.Instance.GenerarVenta(new EntitieVenta(cuenta.GetIdCuenta(), cliente.GetIdCliente(),
                                                                                   cuenta.GetNombre(), cliente.GetNombre(), total, DateTime.Today, items));

            if (nroVenta > 0)
            {
                ManagerMessages.Instance.NewInformationMessage(this, "Venta generada");
            }
            else
            {
                ManagerMessages.Instance.NewErrorMessage(this, "No se pudo generar la venta");
            }

            return(nroVenta);
        }
예제 #3
0
        // |==============================ATRIBUTOS==============================|

        // |==============================CONSTRUCTORES==============================|

        // |==============================METODOS Y FUNCIONES==============================|

        // |==============================METODOS Y FUNCIONES PRIVADOS==============================|

        private void RefreshGrid(List <EntitieCompraItem> items)
        {
            gridCompraItems.Rows.Clear();
            if (items == null)
            {
                int idCompra = 0;
                if (!textboxNroCompra.Text.Trim().Equals(""))
                {
                    idCompra = Convert.ToInt32(textboxNroCompra.Text);
                }

                items = ControllerCompras.Instance.GetItems(idCompra);
            }

            for (int i = 0; i < items.Count; i++)
            {
                EntitiePez pez = ControllerPeces.Instance.GetPezById(items[i].GetIdPez());

                gridCompraItems.Rows.Add(items[i].GetIdCompraItem(),
                                         pez.GetIdPez(),
                                         items[i].GetIdCompra(),
                                         items[i].GetIdCompra(),
                                         pez.GetNombre(),
                                         ManagerFormats.Instance.IntToNumber(items[i].GetCantidad()),
                                         ManagerFormats.Instance.DecimalToMoney(items[i].GetSubtotal(), true));
            }
        }
예제 #4
0
        private Boolean GenerarCompra()
        {
            EntitiePez pez   = null;
            Decimal    total = 0;

            List <EntitieCompraItem> items = new List <EntitieCompraItem>();
            int indexColIdPez    = ManagerGrids.Instance.GetColumnIndexByName(gridItems, "IDPEZ");
            int indexColCantidad = ManagerGrids.Instance.GetColumnIndexByName(gridItems, "CANTIDAD");

            for (int i = 0; i < gridItems.Rows.Count; i++)
            {
                int idPez    = 0;
                int cantidad = 0;

                idPez    = Convert.ToInt32(gridItems.Rows[i].Cells[indexColIdPez].Value);
                pez      = ControllerPeces.Instance.GetPezById(idPez);
                cantidad = ManagerFormats.Instance.NumberToInt(gridItems.Rows[i].Cells[indexColCantidad].Value.ToString());
                total   += subtotalesItems[i];
                items.Add(new EntitieCompraItem(0, pez.GetIdPez(), pez.GetNombre(), cantidad, subtotalesItems[i]));
            }

            if (ControllerCompras.Instance.GenerarCompra(new EntitieCompra(cuenta.GetIdCuenta(),
                                                                           cuenta.GetNombre(), total, DateTime.Today, items)))
            {
                ManagerMessages.Instance.NewInformationMessage(this, "Compra generada");
                return(true);
            }
            else
            {
                ManagerMessages.Instance.NewErrorMessage(this, "No se pudo generar la compra");
                return(false);
            }
        }
예제 #5
0
        private Boolean ValidItem()
        {
            if (pezAComprar == null)
            {
                ManagerMessages.Instance.NewInformationMessage(this, "Seleccione un pez");
                return(false);
            }

            if (textboxCantidad.Text.Equals(String.Empty))
            {
                ManagerMessages.Instance.NewInformationMessage(this, "Ingrese la cantidad a vender");
                return(false);
            }
            else if (!ManagerFormats.Instance.MontoValido(textboxCantidad.Text) || Convert.ToInt32(textboxCantidad.Text) <= 0)
            {
                ManagerMessages.Instance.NewInformationMessage(this, "La cantidad ingresada es inválida");
                return(false);
            }

            if (textboxCantidad.Text.Equals(String.Empty))
            {
                ManagerMessages.Instance.NewInformationMessage(this, "Ingrese la cantidad a vender");
                return(false);
            }

            if (textboxSubtotal.Text.Equals(String.Empty))
            {
                ManagerMessages.Instance.NewInformationMessage(this, "Ingrese el subtotal");
                return(false);
            }
            else if (!ManagerFormats.Instance.MontoValido(textboxSubtotal.Text) || Convert.ToDecimal(textboxSubtotal.Text) <= 0)
            {
                ManagerMessages.Instance.NewInformationMessage(this, "El subtotal ingresada es inválida");
                return(false);
            }

            if (ItemYaEnCompra(pezAComprar.GetIdPez()))
            {
                ManagerMessages.Instance.NewInformationMessage(this, "El pez que desea agregar ya se encuentra agregado");
                return(false);
            }

            return(true);
        }
예제 #6
0
        private void ModificarPez()
        {
            int idPrecio = CrearPrecio();

            int stock = 0;

            if (!textboxPrecioMinorista.Text.Trim().Equals(String.Empty))
            {
                stock = Convert.ToInt32(textboxStock.Text);
            }

            ControllerPeces.Instance.ModificarPez(pezAModificar.GetIdPez(), new EntitiePez(idVariedadesCombobox[comboboxVariedades.SelectedIndex],
                                                                                           idTamañosCombobox[comboboxTamaños.SelectedIndex], idPrecio, textboxNombre.Text, stock, checkboxProveedor.Checked));

            ManagerMessages.Instance.NewInformationMessage(this, "Pez modificado");
        }