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 btnCancelarVenta_Click(object sender, RoutedEventArgs e) { if (!string.IsNullOrEmpty(ventaTemp.idProducto)) { if (MessageBox.Show("Hay un proceso de cambio de producto.¿Esta seguro de cancelar operación?", "Cambiar Vendedor", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes) { limpiarRegistroVentas(); btnPagar.Content = "Pagar"; ventaTemp = new VentaTemporal(); ltotalDevolucion.Visibility = Visibility.Hidden; txtTotaldevolucion.Visibility = Visibility.Hidden; lDiferencia.Visibility = Visibility.Hidden; txtDiferencia.Visibility = Visibility.Hidden; dineroDevolucion = 0; } } else { limpiarRegistroVentas(); } }
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 btnBorrarProdVenta_Click(object sender, RoutedEventArgs e) { //pasar datos a lista y luego borrar posicion obtenida y actualizar datagrid VentaTemporal customer = datagridVentas.SelectedItem as VentaTemporal; /*venta.Remove(customer);*/ int totaldatos = datagridVentas.Items.Count; int filaProd = 0; List<VentaTemporal> vtemporal = new List<VentaTemporal>(); VentaTemporal vtemp = new VentaTemporal(); var rows = GetDataGridRows(datagridVentas); int num = 0; int precioProd = 0; //Llenar lista con los productos en datagrid para sumarle uno mas en cantidad foreach (DataGridRow r in rows) { VentaTemporal rv = (VentaTemporal)r.Item; vtemporal.Add(rv); } foreach (var r in vtemporal) { if (customer.idProducto.Equals(r.idProducto)) { filaProd = num; precioProd = Convert.ToInt32(r.total); } num = num + 1; } subtotal = subtotal - precioProd; venta.RemoveAt(filaProd); //Setear subtotal de venta if (venta.Count == 0) { txtsubtotal.Text = "0"; subtotal = 0; } datagridVentas.ItemsSource = venta; if (subtotal < 0) { subtotal = 0; } int numProducto = 0; foreach (var i in venta) { subtotal = subtotal + Convert.ToInt32(i.total); //MessageBox.Show(i.total.ToString()); numProducto = numProducto + 1; } txtCantidadProductos.Content = numProducto.ToString(); txtsubtotal.Text = subtotal.ToString(); int prT = ToEntero(subtotal.ToString(), NumberStyles.Float | NumberStyles.AllowThousands, new CultureInfo("en-GB")); txttotal.Text = prT.ToString("#,#", CultureInfo.InvariantCulture); ; int d = subtotal - dineroDevolucion; if (d < 0) { txtDiferencia.Text = "0"; } else { txtDiferencia.Text = d.ToString(); } }
public void setVenta(VentaTemporal v) { ventaTemp = v; }
/*********************************/ /*********************************/ //buscar producto mediante id ingresado private void codProdVenta_TextChanged(object sender, TextChangedEventArgs e) { ProductoFacade prodF = new ProductoFacade(); bool existe = prodF.getExisteProductoByidProd(txtcodProdVenta.Text); if (existe) { ProductoFacade prodFobtener = new ProductoFacade(); Producto Prod = new Producto(); Prod = prodFobtener.getProductosByID(txtcodProdVenta.Text); //Si producto ya esta en tablapara venta aumentar cantidad if (Convert.ToInt32(Prod.stock) <= 0) { MessageBox.Show("El producto no cuenta con más stock", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Error); } else { //comparar en datagrid si esta bool sumarCantidad = false; int cantidad = 0; int totaldatos = datagridVentas.Items.Count; int filaProd = 0; List<VentaTemporal> vtemporal = new List<VentaTemporal>(); VentaTemporal vtemp = new VentaTemporal(); var rows = GetDataGridRows(datagridVentas); int num = 0; //Se verifica si tabla tiene ya ese producto y asi aumentar canditad if (totaldatos > 0) { //Llenar lista con los productos en datagrid para sumarle uno mas en cantidad foreach (DataGridRow r in rows) { VentaTemporal rv = (VentaTemporal)r.Item; vtemporal.Add(rv); } foreach (DataGridRow r in rows) { VentaTemporal rv = (VentaTemporal)r.Item; //MessageBox.Show(txtcodProdVenta.Text+"="+rv.idProducto); if (txtcodProdVenta.Text.Equals(rv.idProducto)) { sumarCantidad = true; /*int pre = ToEntero(rv.precio, NumberStyles.Float | NumberStyles.AllowThousands, new CultureInfo("en-GB")); string m = pre.ToString("#,#", CultureInfo.InvariantCulture); MessageBox.Show(rv.precio);*/ vtemp = new VentaTemporal(rv.idVenta, rv.idProducto, rv.nombre, rv.precio, rv.cantidad, rv.total); cantidad = Convert.ToInt32(rv.cantidad) + 1; filaProd = num; } num = num + 1; } } //Verificar stock de producto ProductoFacade prodcantiFacade = new ProductoFacade(); int maxstock = Convert.ToInt32(prodcantiFacade.getStockProductoByidProd(txtcodProdVenta.Text)); if (cantidad <= maxstock) { if (sumarCantidad) { //Editar cantidad y setear total precio int totalProducto = Convert.ToInt32(Prod.precio) * Convert.ToInt32(cantidad); //borrar fila delista con id y actualizar la cantidad y precio vtemporal[filaProd].cantidad = cantidad.ToString(); vtemporal[filaProd].total = totalProducto.ToString(); // subtotal = subtotal + totalProducto; datagridVentas.ItemsSource = null; datagridVentas.ItemsSource = vtemporal; //Llenar textbox con total } else { //MessageBox.Show("Primer producto agregado"); //Nuevo producto para venta a proceso de venta venta.Add(new VentaTemporal { idProducto = Prod.idProducto, nombre = Prod.nombre, precio = Prod.precio, cantidad = "1", total = Prod.precio }); datagridVentas.ItemsSource = venta; subtotal = subtotal + Convert.ToInt32(Prod.precio); } //txtcodProdVenta.Text = ""; } else { MessageBox.Show("El producto no cuenta con más stock", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Error); } } txtcodProdVenta.Text = ""; } else { } //Recorrer tabla para sumar total subtotal = 0; int numProducto = 0; foreach (var i in venta) { subtotal = subtotal + Convert.ToInt32(i.total); //MessageBox.Show(i.total.ToString()); numProducto = numProducto + 1; } int mtotalDevo = subtotal - dineroDevolucion; if (mtotalDevo < 0) { //Quiere decir que totaldevolucion tiene saldo txtDiferencia.Text = (mtotalDevo * -1).ToString(); mtotalDevo = 0; } else { txtDiferencia.Text = "0"; } if (mtotalDevo < 0) { mtotalDevo = mtotalDevo * -1; } int p = ToEntero(mtotalDevo.ToString(), NumberStyles.Float | NumberStyles.AllowThousands, new CultureInfo("en-GB")); txtsubtotal.Text = p.ToString("#,#", CultureInfo.InvariantCulture); txtCantidadProductos.Content = numProducto.ToString(); if (Convert.ToInt32(txtdescuento.Text) == 0) { int pr = ToEntero(txtsubtotal.Text, NumberStyles.Float | NumberStyles.AllowThousands, new CultureInfo("en-GB")); txttotal.Text = pr.ToString("#,#", CultureInfo.InvariantCulture); } else { int pr = ToEntero(txtsubtotal.Text, NumberStyles.Float | NumberStyles.AllowThousands, new CultureInfo("en-GB")); double des = Convert.ToDouble(txtdescuento.Text) / Convert.ToInt32(100); double res = (Convert.ToInt32(pr) - Convert.ToDouble(pr) * des); txttotal.Text = res.ToString("#,#", CultureInfo.InvariantCulture); } }
private void btnPagar_Click(object sender, RoutedEventArgs e) { int value = cbTipoPago.SelectedIndex; List<VentaTemporal> listVentatemporal = new List<VentaTemporal>(); List<MVentas> listVentas = new List<MVentas>(); List<Producto> listProducto = new List<Producto>(); MVentas v = new MVentas(); string tipopago = ""; //string rutVendedor = ""; DateTime fechaactual = DateTime.Now.Date; //string fechaactual = f.ToShortDateString(); if (datagridVentas.Items.Count != 0) { switch (value) { case 0: //MessageBox.Show("efectivo"); tipopago = "efectivo"; rutcliente = ""; break; case 1: //MessageBox.Show("cuenta"); tipopago = "cuenta"; rutcliente = ""; break; case 2: //MessageBox.Show("debito"); tipopago = "debito"; rutcliente = ""; break; case 3: //MessageBox.Show("cheque"); /*PagoconCheque pc = new PagoconCheque(); pc.ShowDialog();*/ //Guardar cheque tipopago = "cheque"; //Cheque chequeSave = new Cheque(getCheque.rut, getCheque.nombre, getCheque.nombreBanco, getCheque.fechaemision, getCheque.fechaexpiracion, getCheque.monto); //MessageBox.Show(getCheque.rut); break; } //Obtener datos de datagrid para guardar rutcliente = getCheque.rut; var rows = GetDataGridRows(datagridVentas); foreach (DataGridRow r in rows) { VentaTemporal rv = (VentaTemporal)r.Item; listVentatemporal.Add(rv); } foreach (var item in listVentatemporal) { int p = ToEntero(txttotal.Text, NumberStyles.Float | NumberStyles.AllowThousands, new CultureInfo("en-GB")); MVentas vts = new MVentas(item.idVenta, item.idProducto, rutcliente, rutLogin, Convert.ToInt32(item.cantidad), Convert.ToDouble(p), fechaactual, tipopago ); listVentas.Add(vts); } //Guardas lista de ventas if (rbtnSi.IsChecked == true) { if (!string.IsNullOrEmpty(rutcliente)) { //guardar detalles de deuda a cliente y detalles de venta //actualizar deuda y total de compras //MessageBox.Show("guardar usuario a fiar"); //Agregar registo a cliente de ventas //actualizar deuda y total de compras clienteFacade clienteFac = new clienteFacade(); //MessageBox.Show("rut cliente a fiar:"+rutcliente); int p = ToEntero(txttotal.Text, NumberStyles.Float | NumberStyles.AllowThousands, new CultureInfo("en-GB")); string rActu = clienteFac.actualizar_DFT_Cliente(rutcliente, Convert.ToDouble(p), fechaactual); if (rActu.Equals("")) { MessageBox.Show("Deuda ingresada a usuario:" + nombreCliente + "", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Information); ventasFacade vtfac = new ventasFacade(); string resp = vtfac.GuardarVentas(listVentas); if (resp.Equals("")) { int idventaGen = vtfac.getUltimoIngresadoenVentas(); MessageBox.Show("Anotar el siguiente idventa para posible devolucion:" + idventaGen.ToString() + "", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Information); vendedorFacade vendFac = new vendedorFacade(); vendFac.actualizarVentasVend(rutLogin); //Descontar stock en (lista) de producto ProductoFacade prd = new ProductoFacade(); foreach (var item in listVentas) { string res = prd.actualizarStockProducto(item.idProducto.ToString(), item.cantidad.ToString()); if (resp.Equals("")) { //MessageBox.Show("stock actualizado:" + item.idProducto); } } if (!string.IsNullOrEmpty(getCheque.nombre)) { chequeFacade chFac = new chequeFacade(); getCheque = pc.getformCheque(); string rep = chFac.GuardarCheque(getCheque); if (rep.Equals("")) { MessageBox.Show("Detalles cheque guardado", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Information); } else { MessageBox.Show("Error al guardar detalles cheque:" + rep + "", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Error); } } if (!string.IsNullOrEmpty(ventaTemp.idProducto)) { int difDevo = Convert.ToInt32(ventaTemp.cantidad) - Convert.ToInt32(ventaTemp.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(ventaTemp.devolver); ProductoFacade prodFac = new ProductoFacade(); string actStock = prodFac.actualizarStockProductoDevolucion(ventaTemp.idProducto, sumStock); ventasFacade ventFac = new ventasFacade(); string borrar = ventFac.borrarventaByidVenta(Convert.ToDouble(ventaTemp.idVenta), ventaTemp.idProducto, Convert.ToDateTime(fechaDevolucion)); 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 cambiada correctamente.", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Information); btnPagar.Content = "Pagar"; ventaTemp = new VentaTemporal(); ltotalDevolucion.Visibility = Visibility.Hidden; txtTotaldevolucion.Visibility = Visibility.Hidden; lDiferencia.Visibility = Visibility.Hidden; txtDiferencia.Visibility = Visibility.Hidden; dineroDevolucion = 0; } } else {//si cantidad devolucion no es igual a cantidad en venta , actualizar venta e stock producto int sumStock = Convert.ToInt32(ventaTemp.devolver); ProductoFacade prodFac = new ProductoFacade(); string actStock = prodFac.actualizarStockProductoDevolucion(ventaTemp.idProducto, sumStock); ventasFacade ventFac = new ventasFacade(); string actVenta = ventFac.actualizarventaDevolucion(Convert.ToDouble(ventaTemp.idVenta), ventaTemp.idProducto, Convert.ToDateTime(fechaDevolucion), difDevo, difDevo * Convert.ToInt32(ventaTemp.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 cambiada correctamente.", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Information); btnPagar.Content = "Pagar"; ventaTemp = new VentaTemporal(); ltotalDevolucion.Visibility = Visibility.Hidden; txtTotaldevolucion.Visibility = Visibility.Hidden; lDiferencia.Visibility = Visibility.Hidden; txtDiferencia.Visibility = Visibility.Hidden; dineroDevolucion = 0; } } } limpiarRegistroVentas(); } else { MessageBox.Show("Error al guardar detalle ventas:" + resp, "Magnolia", MessageBoxButton.OK, MessageBoxImage.Error); } } else { MessageBox.Show("Error al ingresar deuda a usuario:" + rActu, "Magnolia", MessageBoxButton.OK, MessageBoxImage.Error); } } else { // MessageBox.Show("Elegir usuario al que se fiara."); DescuentoCliente dc = new DescuentoCliente("ds"); dc.Owner = Window.GetWindow(this); ; dc.btnCancelar.Visibility = Visibility.Visible; dc.Title = "Elegir Cliente"; dc.ShowDialog(); //txtdescuento.Text = dc.getValor(); getCheque.rut = dc.getrut(); rutcliente = dc.getrut(); nombreCliente = dc.getnombreCliente(); if (!rutcliente.Equals("")) { //actualizar deuda y total de compras //MessageBox.Show("Guardar usuario a fiar", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Warning); //Agregar registo a cliente de ventas //actualizar deuda y total de compras clienteFacade clienteFac = new clienteFacade(); //MessageBox.Show("rut cliente a fiar:"+rutcliente); string rActu = clienteFac.actualizar_DFT_Cliente(rutcliente, Convert.ToDouble(txttotal.Text), fechaactual); if (rActu.Equals("")) { MessageBox.Show("Deuda ingresada a usuario:" + nombreCliente + "", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Information); ventasFacade vtfac = new ventasFacade(); string resp = vtfac.GuardarVentas(listVentas); if (resp.Equals("")) { int idventaGen = vtfac.getUltimoIngresadoenVentas(); MessageBox.Show("Anotar el siguiente idventa para posible devolucion:" + idventaGen.ToString(), "Magnolia", MessageBoxButton.OK, MessageBoxImage.Warning); vendedorFacade vendFac = new vendedorFacade(); vendFac.actualizarVentasVend(rutLogin); //Descontar stock en (lista) de producto ProductoFacade prd = new ProductoFacade(); foreach (var item in listVentas) { string res = prd.actualizarStockProducto(item.idProducto.ToString(), item.cantidad.ToString()); if (resp.Equals("")) { //MessageBox.Show("stock actualizado:" + item.idProducto); } } if (!string.IsNullOrEmpty(getCheque.nombre)) { chequeFacade chFac = new chequeFacade(); getCheque = pc.getformCheque(); string rep = chFac.GuardarCheque(getCheque); if (rep.Equals("")) { MessageBox.Show("Detalles cheque guardado", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Information); } else { MessageBox.Show("Error al guardar detalles cheque:" + rep + "", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Error); } } //Si esta en proceso de devolucion btn se llamara cambiar if (!string.IsNullOrEmpty(ventaTemp.idProducto)) { int difDevo = Convert.ToInt32(ventaTemp.cantidad) - Convert.ToInt32(ventaTemp.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(ventaTemp.devolver); ProductoFacade prodFac = new ProductoFacade(); string actStock = prodFac.actualizarStockProductoDevolucion(ventaTemp.idProducto, sumStock); ventasFacade ventFac = new ventasFacade(); string borrar = ventFac.borrarventaByidVenta(Convert.ToDouble(ventaTemp.idVenta), ventaTemp.idProducto, Convert.ToDateTime(fechaDevolucion)); 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 cambiada correctamente.", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Information); btnPagar.Content = "Pagar"; ventaTemp = new VentaTemporal(); ltotalDevolucion.Visibility = Visibility.Hidden; txtTotaldevolucion.Visibility = Visibility.Hidden; lDiferencia.Visibility = Visibility.Hidden; txtDiferencia.Visibility = Visibility.Hidden; dineroDevolucion = 0; } } else {//si cantidad devolucion no es igual a cantidad en venta , actualizar venta e stock producto int sumStock = Convert.ToInt32(ventaTemp.devolver); ProductoFacade prodFac = new ProductoFacade(); string actStock = prodFac.actualizarStockProductoDevolucion(ventaTemp.idProducto, sumStock); ventasFacade ventFac = new ventasFacade(); string actVenta = ventFac.actualizarventaDevolucion(Convert.ToDouble(ventaTemp.idVenta), ventaTemp.idProducto, Convert.ToDateTime(fechaDevolucion), difDevo, difDevo * Convert.ToInt32(ventaTemp.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 cambiada correctamente.", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Information); btnPagar.Content = "Pagar"; ventaTemp = new VentaTemporal(); ltotalDevolucion.Visibility = Visibility.Hidden; txtTotaldevolucion.Visibility = Visibility.Hidden; lDiferencia.Visibility = Visibility.Hidden; txtDiferencia.Visibility = Visibility.Hidden; dineroDevolucion = 0; } } } limpiarRegistroVentas(); } else { MessageBox.Show("Error al guardar detalle ventas:" + resp + "", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Error); } } else { MessageBox.Show("Error al ingresar deuda a usuario:" + rActu + "", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Error); } } } //} } else if (rbtnNo.IsChecked == true) { //MessageBox.Show("Guardar solo detalles venta:no fiar"); ventasFacade vtfac = new ventasFacade(); if (string.IsNullOrEmpty(rutcliente)) { for (int i = 0; i < listVentas.Count; i++) { listVentas[i].rutCliente = ""; } string resp = vtfac.GuardarVentas(listVentas); if (resp.Equals("")) { //Descontar stock en (lista) de producto ProductoFacade prd = new ProductoFacade(); foreach (var item in listVentas) { string res = prd.actualizarStockProducto(item.idProducto.ToString(), item.cantidad.ToString()); // MessageBox.Show("stock actualizado:" + item.idProducto); } int idventaGen = vtfac.getUltimoIngresadoenVentas(); MessageBox.Show("Anotar el siguiente idventa para posible devolucion:" + idventaGen.ToString() + "", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Warning); vendedorFacade vendFac = new vendedorFacade(); vendFac.actualizarVentasVend(rutLogin); //MessageBox.Show("Detalles venta guardado"); //Agregar registo a cliente de ventas if (!string.IsNullOrEmpty(getCheque.nombre)) { chequeFacade chFac = new chequeFacade(); getCheque = pc.getformCheque(); string rep = chFac.GuardarCheque(getCheque); if (rep.Equals("")) { MessageBox.Show("Detalles cheque guardado", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Information); } else { MessageBox.Show("Error al guardar detalles cheque:" + rep + "", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Error); } } if (!string.IsNullOrEmpty(ventaTemp.idProducto)) { int difDevo = Convert.ToInt32(ventaTemp.cantidad) - Convert.ToInt32(ventaTemp.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(ventaTemp.devolver); ProductoFacade prodFac = new ProductoFacade(); string actStock = prodFac.actualizarStockProductoDevolucion(ventaTemp.idProducto, sumStock); ventasFacade ventFac = new ventasFacade(); string borrar = ventFac.borrarventaByidVenta(Convert.ToDouble(ventaTemp.idVenta), ventaTemp.idProducto, Convert.ToDateTime(fechaDevolucion)); 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 cambiada correctamente.", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Information); btnPagar.Content = "Pagar"; ventaTemp = new VentaTemporal(); ltotalDevolucion.Visibility = Visibility.Hidden; txtTotaldevolucion.Visibility = Visibility.Hidden; lDiferencia.Visibility = Visibility.Hidden; txtDiferencia.Visibility = Visibility.Hidden; dineroDevolucion = 0; } } else {//si cantidad devolucion no es igual a cantidad en venta , actualizar venta e stock producto int sumStock = Convert.ToInt32(ventaTemp.devolver); ProductoFacade prodFac = new ProductoFacade(); string actStock = prodFac.actualizarStockProductoDevolucion(ventaTemp.idProducto, sumStock); ventasFacade ventFac = new ventasFacade(); string actVenta = ventFac.actualizarventaDevolucion(Convert.ToDouble(ventaTemp.idVenta), ventaTemp.idProducto, Convert.ToDateTime(fechaDevolucion), difDevo, difDevo * Convert.ToInt32(ventaTemp.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 cambiada correctamente.", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Information); btnPagar.Content = "Pagar"; ventaTemp = new VentaTemporal(); ltotalDevolucion.Visibility = Visibility.Hidden; txtTotaldevolucion.Visibility = Visibility.Hidden; lDiferencia.Visibility = Visibility.Hidden; txtDiferencia.Visibility = Visibility.Hidden; dineroDevolucion = 0; } } } limpiarRegistroVentas(); } else { MessageBox.Show("Error al guardar detalle ventas:" + resp + "", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Error); } } else //Si existe cliente pero no se fia de actualiza registro de venta a cliente { string resp = vtfac.GuardarVentas(listVentas); if (resp.Equals("")) { //Descontar stock en (lista) de producto ProductoFacade prd = new ProductoFacade(); foreach (var item in listVentas) { string res = prd.actualizarStockProducto(item.idProducto.ToString(), item.cantidad.ToString()); //MessageBox.Show("stock actualizado:" + item.idProducto); } int idventaGen = vtfac.getUltimoIngresadoenVentas(); MessageBox.Show("Anotar el siguiente idventa para posible devolucion:" + idventaGen.ToString() + "", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Warning); vendedorFacade vendFac = new vendedorFacade(); vendFac.actualizarVentasVend(rutLogin); if (!string.IsNullOrEmpty(ventaTemp.idProducto)) { int difDevo = Convert.ToInt32(ventaTemp.cantidad) - Convert.ToInt32(ventaTemp.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(ventaTemp.devolver); ProductoFacade prodFac = new ProductoFacade(); string actStock = prodFac.actualizarStockProductoDevolucion(ventaTemp.idProducto, sumStock); ventasFacade ventFac = new ventasFacade(); string borrar = ventFac.borrarventaByidVenta(Convert.ToDouble(ventaTemp.idVenta), ventaTemp.idProducto, Convert.ToDateTime(fechaDevolucion)); 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 cambiada correctamente.", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Information); btnPagar.Content = "Pagar"; ventaTemp = new VentaTemporal(); ltotalDevolucion.Visibility = Visibility.Hidden; txtTotaldevolucion.Visibility = Visibility.Hidden; lDiferencia.Visibility = Visibility.Hidden; txtDiferencia.Visibility = Visibility.Hidden; dineroDevolucion = 0; } } else {//si cantidad devolucion no es igual a cantidad en venta , actualizar venta e stock producto int sumStock = Convert.ToInt32(ventaTemp.devolver); ProductoFacade prodFac = new ProductoFacade(); string actStock = prodFac.actualizarStockProductoDevolucion(ventaTemp.idProducto, sumStock); ventasFacade ventFac = new ventasFacade(); string actVenta = ventFac.actualizarventaDevolucion(Convert.ToDouble(ventaTemp.idVenta), ventaTemp.idProducto, Convert.ToDateTime(fechaDevolucion), difDevo, difDevo * Convert.ToInt32(ventaTemp.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 cambiada correctamente.", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Information); btnPagar.Content = "Pagar"; ventaTemp = new VentaTemporal(); ltotalDevolucion.Visibility = Visibility.Hidden; txtTotaldevolucion.Visibility = Visibility.Hidden; lDiferencia.Visibility = Visibility.Hidden; txtDiferencia.Visibility = Visibility.Hidden; dineroDevolucion = 0; } } } //Agregar registo a cliente de ventas if (!string.IsNullOrEmpty(getCheque.nombre)) { chequeFacade chFac = new chequeFacade(); getCheque = pc.getformCheque(); string rep = chFac.GuardarCheque(getCheque); if (rep.Equals("")) { MessageBox.Show("Detalles cheque guardado", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Information); } else { MessageBox.Show("Error al guardar detalles cheque:" + rep + "", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Error); } } clienteFacade clienteFac = new clienteFacade(); //MessageBox.Show("rut cliente a fiar:"+rutcliente); string rActu = clienteFac.actualizar_DFT_Cliente(rutcliente, 0, fechaactual); if (rActu.Equals("")) { MessageBox.Show("Registro de cliente actualizado", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Information); } else { MessageBox.Show("Error al actualizar registro cliente:" + rActu + "", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Error); } limpiarRegistroVentas(); } else { MessageBox.Show("Error al guardar detalle ventas:" + resp + "", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Error); } } } } else { MessageBox.Show("Elegir al menos un producto para venta!", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Warning); } }
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 { int n; bool isNumeric = int.TryParse(txtidventa.Text, out n); if (isNumeric) { ventasFacade ventFac = new ventasFacade(); List<MVentas> listaVentaDevolucion = ventFac.getVentasForDevolucion(Convert.ToInt32(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); int p = ToEntero(Prod.precio, NumberStyles.Float | NumberStyles.AllowThousands, new CultureInfo("en-GB")); string precio = p.ToString("#,#", CultureInfo.InvariantCulture); int t = ToEntero(item.total.ToString(), NumberStyles.Float | NumberStyles.AllowThousands, new CultureInfo("en-GB")); string total = t.ToString("#,#", CultureInfo.InvariantCulture); ; vtemp = new VentaTemporal(Convert.ToInt32(item.idVenta), item.idProducto, Prod.nombre, precio, item.cantidad.ToString(), "1", total.ToString()); venta.Add(vtemp); cantidad = cantidad + 1; total = total + Convert.ToInt32(item.total); //ltotal.Content = Prod.precio; int st = ToEntero(item.total.ToString(), NumberStyles.Float | NumberStyles.AllowThousands, new CultureInfo("en-GB")); string stp = st.ToString("#,#", CultureInfo.InvariantCulture); ltotal.Content = stp; TextBoxValue.Text = item.cantidad.ToString(); } datagridVentas.ItemsSource = venta; } else { MessageBox.Show("No se han encontrado ventas con estos datos.", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Error); } } else { MessageBox.Show("No se han encontrado ventas con estos datos.", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Error); } } }