/// <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); } }
/// <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(); }
/// <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); } }