/// <summary>
        /// Valida todos los datos ingresados y, si son correctos, crea un objeto de tipo Cliente
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnClienteNuevo_Click(object sender, EventArgs e)
        {
            double dni;

            if (!Validar.ValidarString(this.txtApellido.Text) && !Validar.ValidarString(this.txtNombre.Text) &&
                double.TryParse(this.txtDni.Text, out dni))
            {
                if (!Validar.CerosYnegativos(dni))
                {
                    auxCliente = new Cliente(this.txtNombre.Text, this.txtApellido.Text, dni);

                    if (Inventario.GetListaClientes() != auxCliente)
                    {
                        // Si el cliente no esta cargado en la lista de clientes existentes, lo agrega

                        Inventario.ListaPersonas.Add(auxCliente);
                        MessageBox.Show("Cliente cargados con exito!", Inventario.NombreComercio);
                    }
                    else
                    {
                        MessageBox.Show("Cliente registrados previamentes, los datos no seran duplicados!", Inventario.NombreComercio);
                    }

                    DialogResult = DialogResult.OK;
                }
                else
                {
                    MessageBox.Show("Verificar DNI", Inventario.NombreComercio);
                }
            }
            else
            {
                MessageBox.Show("Verifique los datos ingresados antes de continuar", Inventario.NombreComercio);
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Al hacer doble click, agrega un producto a la lista de compras
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void dgvProductos_DoubleClick(object sender, EventArgs e)
        {
            string auxDescripcion;
            double auxPrecio;
            int    idProducto;
            int    auxCantidad;


            if (int.TryParse(this.txtCantidad.Text, out auxCantidad))
            {
                auxDescripcion = (string)dgvProductos.CurrentRow.Cells["Descripcion"].Value;
                auxPrecio      = (double)dgvProductos.CurrentRow.Cells["Precio"].Value;
                idProducto     = (int)dgvProductos.CurrentRow.Cells["Id"].Value;

                if (!Validar.CerosYnegativos(auxCantidad))
                {
                    if (Inventario.ValidarCantidad(idProducto, auxCantidad))
                    {
                        //Carga la cantidad solicitada de productos a la lista

                        for (int i = 0; i < auxCantidad; i++)
                        {
                            listaCompras.Add(new Compra(auxDescripcion, auxPrecio, idProducto));
                        }

                        // Recorre la lista de productos y cuando la encuentra, reduce el stock

                        for (int i = 0; i < Inventario.ListaProductos.Count; i++)
                        {
                            if (idProducto == Inventario.ListaProductos[i].Id)
                            {
                                Inventario.ListaProductos[i].Stock -= auxCantidad;
                            }
                        }

                        // actualiza el monto total, los datagridviews y el monto mostrado a traves del label

                        auxMontoTotal     += (auxPrecio * auxCantidad);
                        lblMontoTotal.Text = auxMontoTotal.ToString();
                        CargarDatagrid();
                    }
                    else
                    {
                        MessageBox.Show("No hay suficiente stock del producto solicitados", Inventario.NombreComercio);
                    }
                }
                else
                {
                    MessageBox.Show("La cantidad no puede ser 0 ni un numero negativo", Inventario.NombreComercio);
                }
            }
            else
            {
                MessageBox.Show("Por favor, agregue cantidad antes de continuar", Inventario.NombreComercio);
            }

            this.txtCantidad.Clear();
        }
Exemplo n.º 3
0
        /// <summary>
        /// Realiza la carga de producto a la lista
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnCargarProd_Click(object sender, EventArgs e)
        {
            double precio;
            int    stock;
            int    id;

            this.txtPrecio.Text = this.txtPrecio.Text.Replace(".", ",");

            if (double.TryParse(this.txtPrecio.Text, out precio) && int.TryParse(this.txtStock.Text, out stock) &&
                !Validar.ValidarString(this.txtDescripcion.Text) && int.TryParse(this.txtId.Text, out id))
            {
                if (!Validar.CerosYnegativos(precio) && !Validar.CerosYnegativos(stock) && !Validar.CerosYnegativos(id))
                {
                    if (this.cmbTipoProducto.SelectedIndex != -1)
                    {
                        switch ((Producto.ETipo) this.cmbTipoProducto.SelectedValue)
                        {
                        case Producto.ETipo.perecedero:
                            auxProducto = new ProductoPerecedero(this.txtDescripcion.Text, id, precio, stock, (Producto.ETipo) this.cmbTipoProducto.SelectedValue);

                            if (Inventario.ListaProductos + auxProducto)
                            {
                                MessageBox.Show("Producto cargado con exitos", Inventario.NombreComercio);
                                MessageBox.Show(auxProducto.ToString(), Inventario.NombreComercio);
                            }
                            else
                            {
                                MessageBox.Show("Producto previamente cargados", Inventario.NombreComercio);
                                MessageBox.Show("Solo se modifico el stock disponibles", Inventario.NombreComercio);
                            }
                            this.Limpiar();
                            break;

                        case Producto.ETipo.noPerecedero:
                            auxProducto = new ProductoNoPerecedero(this.txtDescripcion.Text, id, precio, stock, (Producto.ETipo) this.cmbTipoProducto.SelectedValue);

                            if (Inventario.ListaProductos + auxProducto)
                            {
                                MessageBox.Show("Producto cargado con exitos", Inventario.NombreComercio);
                                MessageBox.Show(auxProducto.ToString(), Inventario.NombreComercio);
                            }
                            else
                            {
                                MessageBox.Show("Producto previamente cargados", Inventario.NombreComercio);
                                MessageBox.Show("Solo se modifico el stock disponibles", Inventario.NombreComercio);
                            }
                            this.Limpiar();
                            break;

                        case Producto.ETipo.almacen:
                            auxProducto = new ProductoAlmacen(this.txtDescripcion.Text, id, precio, stock, (Producto.ETipo) this.cmbTipoProducto.SelectedValue);

                            if (Inventario.ListaProductos + auxProducto)
                            {
                                MessageBox.Show("Producto cargado con exitos", Inventario.NombreComercio);
                                MessageBox.Show(auxProducto.ToString(), Inventario.NombreComercio);
                            }
                            else
                            {
                                MessageBox.Show("Producto previamente cargados", Inventario.NombreComercio);
                                MessageBox.Show("Solo se modifico el stock disponibles", Inventario.NombreComercio);
                            }
                            this.Limpiar();
                            break;
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Verificar campo numericos", Inventario.NombreComercio);
                }
            }
            else
            {
                MessageBox.Show("Verificar datos ingresados", Inventario.NombreComercio);
            }
        }