private void btnGuardarProducto_Click(object sender, RoutedEventArgs e) { if (!string.IsNullOrWhiteSpace(txtnombreproducto.Text)) { if (!string.IsNullOrWhiteSpace(txtstock.Text)) { if (!string.IsNullOrWhiteSpace(txtprecioReal.Text)) { if (!string.IsNullOrWhiteSpace(txtprecio.Text)) { int compra = ToEntero(txtprecioReal.Text, NumberStyles.Float | NumberStyles.AllowThousands, new CultureInfo("en-GB")); int venta = ToEntero(txtprecio.Text, NumberStyles.Float | NumberStyles.AllowThousands, new CultureInfo("en-GB")); if (compra < venta) { if (cbTipoCodigo.SelectedIndex == 1) { if (!string.IsNullOrWhiteSpace(txtcodprod.Text)) { //ingresar producto con id ingresado por usuario if (cbCategoria.Items.Count > 0) { ProductoFacade prodF = new ProductoFacade(); string codProd = txtcodprod.Text; string nombreProd = txtnombreproducto.Text; string nombreCat = cbCategoria.SelectedValue.ToString(); int st = ToEntero(txtstock.Text, NumberStyles.Float | NumberStyles.AllowThousands, new CultureInfo("en-GB")); string stock = st.ToString(); int pR = ToEntero(txtprecioReal.Text, NumberStyles.Float | NumberStyles.AllowThousands, new CultureInfo("en-GB")); string precioReal = pR.ToString(); int p = ToEntero(txtprecio.Text, NumberStyles.Float | NumberStyles.AllowThousands, new CultureInfo("en-GB")); string precio = p.ToString(); //string res=prodF.GuardarProducto() //Agregar idCategoria al idProducto + el numItem ProductoFacade prodFCod = new ProductoFacade(); categoriaFacade catFCod = new categoriaFacade(); List<Producto> listProducto = prodFCod.getProductosBynombreCategoria(nombreCat); //Verificar si producto con nombre y categoria existe ProductoFacade prodFExiste = new ProductoFacade(); bool existeProd = prodFExiste.getExisteProductoBynombreYidCat(nombreProd, nombreCat); if (existeProd) { MessageBox.Show("Producto con nombre:\"" + nombreProd + "\" ya existe para categoria:\"" + nombreCat + "\"" + "", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Warning); } else { DateTime fechaactual = DateTime.Now.Date; string res = prodF.GuardarProducto(txtcodprod.Text, nombreProd, stock, precioReal, precio, nombreCat, fechaactual, 1); if (res.Equals("")) { MessageBox.Show("Producto guardado correctamente!", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Information); limpiarTxtProducto(); llenarTablaProductoBynombreCat(nombreCat); cbTipoCodigo.SelectedIndex = 0; tabCodigos.actualizarArbolyTablaProductos(); } else { MessageBox.Show("Error al guardar producto:" + res + "", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Error); } } } else { MessageBox.Show("Ingresar al menos 1 categoria!", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Warning); } } else { MessageBox.Show("Ingresar idproducto a producto", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Warning); } } else { //ingresar idproductogenerado Guid guid = Guid.NewGuid(); string a = guid.ToString(); string idPnuevo = string.Empty; long val = 0; for (int i = 0; i < a.Length; i++) { if (Char.IsDigit(a[i])) if (idPnuevo.Length < 8) { idPnuevo += a[i]; } else { break; } } if (cbCategoria.Items.Count > 0) { ProductoFacade prodF = new ProductoFacade(); string nombreProd = txtnombreproducto.Text; string nombreCat = cbCategoria.SelectedValue.ToString(); int st = ToEntero(txtstock.Text, NumberStyles.Float | NumberStyles.AllowThousands, new CultureInfo("en-GB")); string stock = st.ToString(); int pR = ToEntero(txtprecioReal.Text, NumberStyles.Float | NumberStyles.AllowThousands, new CultureInfo("en-GB")); string precioReal = pR.ToString(); int p = ToEntero(txtprecio.Text, NumberStyles.Float | NumberStyles.AllowThousands, new CultureInfo("en-GB")); string precio = p.ToString(); //string res=prodF.GuardarProducto() //Agregar idCategoria al idProducto + el numItem ProductoFacade prodFCod = new ProductoFacade(); categoriaFacade catFCod = new categoriaFacade(); List<Producto> listProducto = prodFCod.getProductosBynombreCategoria(nombreCat); //Verificar si producto con nombre y categoria existe ProductoFacade prodFExiste = new ProductoFacade(); bool existeProd = prodFExiste.getExisteProductoBynombreYidCat(nombreProd, nombreCat); if (existeProd) { MessageBox.Show("Producto con nombre:\"" + nombreProd + "\" ya existe para categoria:\"" + nombreCat + "\"" + "", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Warning); } else { //Producto ya tiene productos asociados a categoria agregar en la ultima posicion //Guardar producto con idproducto DateTime fechaactual = DateTime.Now.Date; string res = prodF.GuardarProducto(idPnuevo, nombreProd, stock, precioReal, precio, nombreCat, fechaactual, 0); if (res.Equals("")) { MessageBox.Show("Producto guardado correctamente!", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Information); limpiarTxtProducto(); llenarTablaProductoBynombreCat(nombreCat); tabCodigos.actualizarArbolyTablaProductos(); //llenarTablaProductoCodBarra(); //CantidadTotalRubrosyProductos(); } else { MessageBox.Show("Error al guardar producto:" + res + "", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Error); } } } else { MessageBox.Show("Ingresar al menos 1 categoria!", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Warning); } } } else { MessageBox.Show("Precio de venta debe ser mayor a precio de compra(?!)", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Warning); } } else { MessageBox.Show("Ingresar Precio Venta a producto", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Warning); } } else { MessageBox.Show("Ingresar Precio Compra a producto", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Warning); } } else { MessageBox.Show("Ingresar Stock!", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Warning); } } else { MessageBox.Show("Ingresar nombre a producto", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Warning); } }