private void btnBuscarVenta_Click(object sender, RoutedEventArgs e) { if (txtidventa.Text.Equals("")) { MessageBox.Show("Ingresar idventa", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Warning); } else if (txtidProducto.Text.Equals("")) { MessageBox.Show("Ingresar idProducto", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Warning); } else if (fechaventa.Text.Equals("")) { MessageBox.Show("Ingresar Fecha", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Warning); } else { ventasFacade ventFac = new ventasFacade(); List <MVentas> listaVentaDevolucion = ventFac.getVentasForDevolucion(Convert.ToDouble(txtidventa.Text), txtidProducto.Text, Convert.ToDateTime(fechaventa.Text)); var rows = GetDataGridRows(datagridVentas); if (listaVentaDevolucion.Count != 0) { venta.Clear(); datagridVentas.ItemsSource = venta; //llenar datagridVenta para devoulcion foreach (var item in listaVentaDevolucion) { ProductoFacade prodFobtener = new ProductoFacade(); Producto Prod = new Producto(); Prod = prodFobtener.getProductosByID(item.idProducto); vtemp = new VentaTemporal(item.idVenta, item.idProducto, Prod.nombre, Prod.precio, item.cantidad.ToString(), "1", item.total.ToString()); venta.Add(vtemp); cantidad = cantidad + 1; total = total + Convert.ToInt32(item.total); //ltotal.Content = Prod.precio; ltotal.Content = item.total; TextBoxValue.Text = item.cantidad.ToString(); } datagridVentas.ItemsSource = venta; } else { MessageBox.Show("No se han encontrado ventas con estos datos.", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Error); } } }
private void btnDevolver_Click(object sender, RoutedEventArgs e) { try { if (datagridVentas.Items.Count > 0) { if (datagridVentas.SelectedItem != null) { var row = GetDataGridRows(datagridVentas); if (row != null) { VentaTemporal rv = new VentaTemporal(); foreach (DataGridRow r in row) { rv = (VentaTemporal)r.Item; } int difDevo = Convert.ToInt32(rv.cantidad) - Convert.ToInt32(rv.devolver); //MessageBox.Show("dif:" + difDevo.ToString()); if (difDevo == 0) { //si cantidad devolucion es igul a cantidad venta, actualizar stock producto y borrar registro de venta int sumStock = Convert.ToInt32(rv.devolver); ProductoFacade prodFac = new ProductoFacade(); string actStock = prodFac.actualizarStockProductoDevolucion(rv.idProducto, sumStock); ventasFacade ventFac = new ventasFacade(); string borrar = ventFac.borrarventaByidVenta(Convert.ToDouble(txtidventa.Text), txtidProducto.Text, Convert.ToDateTime(fechaventa.Text)); if (!string.IsNullOrEmpty(actStock)) { MessageBox.Show("Error al actualizar stock:" + actStock + "", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Error); } else if (!string.IsNullOrEmpty(borrar)) { MessageBox.Show("Error al borrar venta:" + borrar + "", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Error); } else { MessageBox.Show("Devolucion ingresada correctamente.", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Information); txtidventa.Text = ""; txtidProducto.Text = ""; fechaventa.Text = ""; venta.Clear(); datagridVentas.ItemsSource = venta; ltotal.Content = "0"; Valor = 1; this.Close(); } } else { //si cantidad devolucion no es igual a cantidad en venta , actualizar venta e stock producto int sumStock = Convert.ToInt32(rv.devolver); ProductoFacade prodFac = new ProductoFacade(); string actStock = prodFac.actualizarStockProductoDevolucion(rv.idProducto, sumStock); ventasFacade ventFac = new ventasFacade(); string actVenta = ventFac.actualizarventaDevolucion(Convert.ToDouble(txtidventa.Text), txtidProducto.Text, Convert.ToDateTime(fechaventa.Text), difDevo, difDevo * Convert.ToInt32(rv.precio)); if (!string.IsNullOrEmpty(actStock)) { MessageBox.Show("Error al actualizar stock:" + actStock + "", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Error); } else if (!string.IsNullOrEmpty(actVenta)) { MessageBox.Show("Error al actualizar venta:" + actVenta + "", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Error); } else { MessageBox.Show("Devolucion ingresada correctamente.", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Information); txtidventa.Text = ""; txtidProducto.Text = ""; fechaventa.Text = ""; venta.Clear(); datagridVentas.ItemsSource = venta; ltotal.Content = "0"; Valor = 1; this.Close(); } } } } } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
private void Decrease_Click(object sender, RoutedEventArgs e) { if (Valor > Minimum) { Valor--; if (datagridVentas.SelectedItem != null) { if (datagridVentas.Items.Count > 0) { if (datagridVentas.SelectedItem is VentaTemporal) { var row = (VentaTemporal)datagridVentas.SelectedItem; ProductoFacade prodFobtener = new ProductoFacade(); Producto Prod = new Producto(); Prod = prodFobtener.getProductosByID(row.idProducto); int filaProd = 0; int num = 0; if (row != null) { //MessageBox.Show(row.cantidad); //Tomar valor de cantidad datagrid y aumentar List <VentaTemporal> vtemporal = new List <VentaTemporal>(); var rows = GetDataGridRows(datagridVentas); foreach (DataGridRow r in rows) { VentaTemporal rv = (VentaTemporal)r.Item; vtemporal.Add(rv); } //buscar el id de list con el seleccionado en datagrid foreach (var r in vtemporal) { if (row.idProducto.Equals(r.idProducto)) { filaProd = num; } num = num + 1; } int total = Convert.ToInt32(Prod.precio) * Convert.ToInt32(Valor); vtemporal[filaProd].devolver = Valor.ToString(); //vtemporal[filaProd].total = total.ToString(); ltotal.Content = total.ToString(); datagridVentas.ItemsSource = null; datagridVentas.ItemsSource = vtemporal; datagridVentas.SelectedIndex = filaProd; } } } } //Recorrer tabla para sumar total /*subtotal = 0; * * foreach (var i in venta) * { * subtotal = subtotal + Convert.ToInt32(i.total); * //MessageBox.Show(i.total.ToString()); * } * txtsubtotal.Text = subtotal.ToString();*/ subtotal = 0; int numProducto = 0; foreach (var i in venta) { subtotal = subtotal + Convert.ToInt32(i.total); //MessageBox.Show(i.total.ToString()); numProducto = numProducto + 1; } /* * txtsubtotal.Text = subtotal.ToString(); * txtCantidadProductos.Content = numProducto.ToString(); * if (Convert.ToInt32(txtdescuento.Text) == 0) * { * txttotal.Text = txtsubtotal.Text; * } * else * { * double des = Convert.ToDouble(txtdescuento.Text) / Convert.ToDouble(100); * txttotal.Text = (Convert.ToInt32(txtsubtotal.Text) - Convert.ToDouble(txtsubtotal.Text) * des).ToString(); * }*/ RaiseEvent(new RoutedEventArgs(DecreaseClickedEvent)); } }
//Al presionar enter en spinkbox que se actualice en tabla la cantidad private void TextBoxValue_KeyDown(Object sender, KeyEventArgs e) { if (e.Key == Key.Enter) { if (datagridVentas.Items.Count > 0) { if (datagridVentas.SelectedItem != null) { if (datagridVentas.SelectedItem is VentaTemporal) { var row = (VentaTemporal)datagridVentas.SelectedItem; ProductoFacade prodFobtener = new ProductoFacade(); Producto Prod = new Producto(); Prod = prodFobtener.getProductosByID(row.idProducto); int filaProd = 0; int num = 0; if (row != null) { //Tomar valor de cantidad datagrid y aumentar List <VentaTemporal> vtemporal = new List <VentaTemporal>(); var rows = GetDataGridRows(datagridVentas); foreach (DataGridRow r in rows) { VentaTemporal rv = (VentaTemporal)r.Item; vtemporal.Add(rv); } //buscar el id de list con el seleccionado en datagrid foreach (var r in vtemporal) { if (row.idProducto.Equals(r.idProducto)) { filaProd = num; } num = num + 1; } //Verificar stock de producto ProductoFacade prodcantiFacade = new ProductoFacade(); int maxstock = Convert.ToInt32(prodcantiFacade.getStockProductoByidProd(row.idProducto)); if (Valor <= Convert.ToInt32(row.cantidad)) { int total = Convert.ToInt32(Prod.precio) * Convert.ToInt32(Valor); vtemporal[filaProd].devolver = Valor.ToString(); //vtemporal[filaProd].total = total.ToString(); ltotal.Content = total.ToString(); datagridVentas.ItemsSource = null; datagridVentas.ItemsSource = vtemporal; datagridVentas.SelectedIndex = filaProd; } else { //MessageBox.Show("Producto, segun inventario, no cuenta con mas stock"); Valor = Convert.ToInt32(row.cantidad); } } } } } //Recorrer tabla para sumar total /* subtotal = 0; * * foreach (var i in venta) * { * subtotal = subtotal + Convert.ToInt32(i.total); * //MessageBox.Show(i.total.ToString()); * } * txtsubtotal.Text = subtotal.ToString();*/ subtotal = 0; int numProducto = 0; foreach (var i in venta) { subtotal = subtotal + Convert.ToInt32(i.total); //MessageBox.Show(i.total.ToString()); numProducto = numProducto + 1; } /*txtsubtotal.Text = subtotal.ToString(); * txtCantidadProductos.Content = numProducto.ToString(); * if (Convert.ToInt32(txtdescuento.Text) == 0) * { * txttotal.Text = txtsubtotal.Text; * } * else * { * double des = Convert.ToDouble(txtdescuento.Text) / Convert.ToDouble(100); * txttotal.Text = (Convert.ToInt32(txtsubtotal.Text) - Convert.ToDouble(txtsubtotal.Text) * des).ToString(); * }*/ } }