Example #1
0
        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());
            }

        }
Example #2
0
        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);
            }

        }