Ejemplo n.º 1
0
        private void llenarTablaCliente()
        {

            clienteFacade prodF = new clienteFacade();

            var listaCliente = prodF.getClientes();

            if (listaCliente.Count > 0)
            {
                foreach (var item in listaCliente)
                {
                    ListCliente.Add(new Cliente { rut = item.rut, nombre = item.nombre, cantidadDescuento = item.cantidadDescuento, deuda = item.deuda, fechaUltimaCompra = item.fechaUltimaCompra, totalCompras = item.totalCompras });
                }

                itemCollectionViewSource = (CollectionViewSource)(FindResource("ItemCollectionViewSourceAllCliente"));
                itemCollectionViewSource.Source = ListCliente;

            }
            else
            {
                DateTime fvacio = Convert.ToDateTime("15/08/2008");
                ListCliente.Add(new Cliente { rut = "Sin Clientes", nombre = "", cantidadDescuento = "", deuda = 0,  totalCompras = 0 ,fechaUltimaCompra=fvacio});
                datagridCliente.ItemsSource = listaCliente;


            }
        }
Ejemplo n.º 2
0
        private void llenarTablaClientebyRut(string rut)
        {

            clienteFacade prodF = new clienteFacade();

            var listaCliente = prodF.getClientesbyRut(rut);

            ListCliente.Clear();
            datagridCliente.ItemsSource = null;
            if (listaCliente.Count > 0)
            {

                foreach (var item in listaCliente)
                {
                    ListCliente.Add(new Cliente { rut = item.rut, nombre = item.nombre, cantidadDescuento = item.cantidadDescuento, deuda = item.deuda, fechaUltimaCompra = item.fechaUltimaCompra });
                }

                datagridCliente.ItemsSource = ListCliente;

            }
            else
            {
                DateTime fvacio = Convert.ToDateTime("15/08/2008");
                ListCliente.Add(new Cliente { rut = "Cliente No encontrado", nombre = "", cantidadDescuento = "", deuda = 0,fechaUltimaCompra=fvacio});


                datagridCliente.ItemsSource = ListCliente;


            }
        }
Ejemplo n.º 3
0
        private void btnguardarCliente_Click(object sender, RoutedEventArgs e)
        {
            string rut = txtrut.Text;
            string nombre = txtNombre.Text;
            string descuento = txtDescuento.Text;
            if (string.IsNullOrWhiteSpace(rut))
            {
                MessageBox.Show("Ingresar Rut", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
            else if (string.IsNullOrWhiteSpace(nombre))
            {
                MessageBox.Show("Ingresar Nombre", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
            else if (string.IsNullOrWhiteSpace(descuento))
            {
                MessageBox.Show("Ingresar Cantidad de Descuento", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
            else
            {
                bool valRut = validarRut(txtrut.Text);
                if (valRut)
                {
                    if (Convert.ToInt32(descuento) > 100)
                    {
                        MessageBox.Show("Descuento asociado a cliente es invalido.", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Error);

                    }
                    else if (Convert.ToInt32(descuento) == 100)
                    {
                        //Guardar Cliente
                        if (MessageBox.Show("Esta seguro de ingresar cliente FREE(no tendra costo en compra por descuento de 100%)? ", "Cliente FREE", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes)
                        {
                            clienteFacade clienteF = new clienteFacade();
                            //Verificar si existe cliente

                            bool existeCliente = clienteF.getExisteCliente(rut);

                            if (existeCliente)
                            {
                                MessageBox.Show("Cliente con rut:" + rut + " ya existe", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Information);
                            }
                            else
                            {
                                //Guardar Cliente

                                DateTime fvacio = Convert.ToDateTime("15/08/2008");
                                string res = clienteF.GuardarClientes(rut, nombre, descuento, "", fvacio, 0);

                                if (res.Equals(""))
                                {
                                    MessageBox.Show("Cliente guardado", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Information);
                                    llenarTablaCliente();
                                    txtrut.Text = "";
                                    txtNombre.Text = "";
                                    txtDescuento.Text = "";
                                }
                                else
                                {
                                    MessageBox.Show("Error al guardar cliente" + res + "", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Error);
                                }
                            }

                        }
                    }
                    else
                    {

                        clienteFacade clienteF = new clienteFacade();
                        //Verificar si existe cliente

                        bool existeCliente = clienteF.getExisteCliente(rut);

                        if (existeCliente)
                        {
                            MessageBox.Show("Cliente con rut:" + rut + " ya existe", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Information);
                        }
                        else
                        {
                            //Guardar Cliente

                            DateTime fvacio = Convert.ToDateTime("15/08/2008");
                            string res = clienteF.GuardarClientes(rut, nombre, descuento, "", fvacio, 0);

                            if (res.Equals(""))
                            {
                                MessageBox.Show("Cliente guardado", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Information);
                                llenarTablaCliente();
                                txtrut.Text = "";
                                txtNombre.Text = "";
                                txtDescuento.Text = "";
                            }
                            else
                            {
                                MessageBox.Show("Error al guardar cliente" + res + "", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Error);
                            }
                        }
                    }
                }
                else
                {
                    MessageBox.Show("Rut invalido asociado a cliente", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }
        }
Ejemplo n.º 4
0
        private void txtBuscarCliente_TextChanged(object sender, TextChangedEventArgs e)
        {

            clienteFacade cf = new clienteFacade();
            List<Cliente> listGetCliente = new List<Cliente>();

            listGetCliente = cf.getClientesbyNombre(txtBuscarCliente.Text);
            if (listGetCliente.Count > 0)
            {
                //listGetCliente = cf.getClientesbyNombre(txtBuscarCliente.Text);
                llenarTablaClientebyNombre(txtBuscarCliente.Text);
                //MessageBox.Show("Por nombre 0");
            }
            else
            {

                llenarTablaClientebyRut(txtBuscarCliente.Text);
                //MessageBox.Show("por rut  0");
            }
            //MessageBox.Show("buscar");

        }
Ejemplo n.º 5
0
        private void btnEliminarTodosClientes_Click(object sender, RoutedEventArgs e)
        {
            clienteFacade prodFtotal = new clienteFacade();
            int totalProd = prodFtotal.getTotalClientes();
            if (MessageBox.Show("Esta seguro de borrar " + totalProd.ToString() + " clientes ", "Borrar", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes)
            {
                clienteFacade prodF = new clienteFacade();
                string res = prodF.borrarAllCliente();

                if (res.Equals(""))
                {
                    MessageBox.Show(totalProd + " clientes eliminados", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Information);
                    llenarTablaCliente();
                    txtrut.Text = "";
                    txtNombre.Text = "";
                    txtDescuento.Text = "";
                    btnguardarCliente.Visibility = Visibility.Visible;
                    btncancelarEditarCliente.Visibility = Visibility.Hidden;
                    btnGuardarActualizarCliente.Visibility = Visibility.Hidden;
                    ldeuda.Visibility = Visibility.Hidden;
                    txtDeuda.Visibility = Visibility.Hidden;
                    llenarTablaCliente();
                    llenarTablaCliente();
                    txtrut.IsEnabled = true;
                }
                else
                {
                    MessageBox.Show("Error al borrar todos los clientes:" + res + "", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }

        }
Ejemplo n.º 6
0
        private void btnEliminarCliente_Click(object sender, RoutedEventArgs e)
        {
            if (dtgridCliente.SelectedItem != null)
            {
                if (dtgridCliente.SelectedItem is Cliente)
                {
                    var row = (Cliente)dtgridCliente.SelectedItem;

                    if (row != null)
                    {
                        clienteFacade clientF = new clienteFacade();
                        string res = clientF.borrarClienteByRut(row.rut);

                        if (res.Equals(""))
                        {
                            MessageBox.Show("Cliente borrado", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Information);
                            txtrut.Text = "";
                            txtNombre.Text = "";
                            txtDescuento.Text = "";
                            btnguardarCliente.Visibility = Visibility.Visible;
                            btncancelarEditarCliente.Visibility = Visibility.Hidden;
                            btnGuardarActualizarCliente.Visibility = Visibility.Hidden;
                            ldeuda.Visibility = Visibility.Hidden;
                            txtDeuda.Visibility = Visibility.Hidden;
                            llenarTablaCliente();
                            llenarTablaCliente();
                            txtrut.IsEnabled = true;

                        }
                        else
                        {
                            MessageBox.Show("Error al borrar cliente" + res + "", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Error);
                        }
                    }
                }
            }
            else
            {
                MessageBox.Show("Seleccionar un cliente para eliminar", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Warning);
            }


        }
Ejemplo n.º 7
0
        private void btnActualizarCliente_Click(object sender, RoutedEventArgs e)
        {

            //cargar Clientes para edicion
            if (dtgridCliente.SelectedItem != null)
            {
                if (dtgridCliente.SelectedItem is Cliente)
                {
                    var row = (Cliente)dtgridCliente.SelectedItem;

                    if (row != null)
                    {
                        //si deuda es mayor a 0 mostrar campo para actualizar deuda
                        clienteFacade cl = new clienteFacade();
                        double deuda = cl.getDeudaCliente(row.rut);
                        if (deuda == 0)
                        {
                            btnguardarCliente.Visibility = Visibility.Hidden;
                            btncancelarEditarCliente.Visibility = Visibility.Visible;
                            btnGuardarActualizarCliente.Visibility = Visibility.Visible;
                            txtrut.Text = row.rut;
                            txtrut.IsEnabled = false;
                            txtNombre.Text = row.nombre;
                            txtDescuento.Text = row.cantidadDescuento;
                        }
                        else
                        {
                            btnguardarCliente.Visibility = Visibility.Hidden;
                            btncancelarEditarCliente.Visibility = Visibility.Visible;
                            btnGuardarActualizarCliente.Visibility = Visibility.Visible;
                            txtrut.Text = row.rut;
                            txtrut.IsEnabled = false;
                            txtNombre.Text = row.nombre;
                            txtDescuento.Text = row.cantidadDescuento;
                            ldeuda.Visibility = Visibility.Visible;
                            txtDeuda.Visibility = Visibility.Visible;
                            txtDeuda.Text = deuda.ToString();
                        }
                    }
                }

            }
            else
            {
                MessageBox.Show("Seleccionar un cliente para actualizar", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
        }
Ejemplo n.º 8
0
        private void btnGuardarActualizarCliente_Click(object sender, RoutedEventArgs e)
        {
            //if (dtgridCliente.SelectedItem != null)
            //{

            string rut = txtrut.Text;
            string nombre = txtNombre.Text;
            string descuento = txtDescuento.Text;

            clienteFacade cl = new clienteFacade();
            if (string.IsNullOrWhiteSpace(txtrut.Text))
            {
                MessageBox.Show("Ingresar Rut", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
            else if (string.IsNullOrWhiteSpace(txtNombre.Text))
            {
                MessageBox.Show("Ingresar Nombre", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
            else if (string.IsNullOrWhiteSpace(txtDescuento.Text))
            {
                MessageBox.Show("Ingresar Cantidad de Descuento", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Warning);
            }

            else
            {
                //verificar ingreso deuda

                if (cl.getDeudaCliente(rut) > 0)
                {
                    if (string.IsNullOrWhiteSpace(txtDeuda.Text))
                    {
                        MessageBox.Show("Deuda debe estar en 0 o segun corresponda", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Warning);
                    }
                    else
                    {
                        if (Convert.ToInt32(descuento) > 100)
                        {
                            MessageBox.Show("Descuento asociado a cliente es invalido.", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Error);

                        }
                        else if (Convert.ToInt32(descuento) == 100)
                        {
                            //Guardar Cliente
                            if (MessageBox.Show("Esta seguro de ingresar cliente FREE(no tendra costo en compra por descuento de 100%)? ", "Cliente FREE", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes)
                            {



                                string res = "";
                                double deuda = Convert.ToDouble(txtDeuda.Text);
                                clienteFacade clienteF = new clienteFacade();
                                res = clienteF.actualizarCliente(rut, nombre, descuento, deuda);


                                if (res.Equals(""))
                                {
                                    MessageBox.Show("Cliente actualizado", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Information);
                                    txtrut.Text = "";
                                    txtNombre.Text = "";
                                    txtDescuento.Text = "";
                                    btnguardarCliente.Visibility = Visibility.Visible;
                                    btncancelarEditarCliente.Visibility = Visibility.Hidden;
                                    btnGuardarActualizarCliente.Visibility = Visibility.Hidden;
                                    txtrut.IsEnabled = true;
                                    ldeuda.Visibility = Visibility.Hidden;
                                    txtDeuda.Visibility = Visibility.Hidden;
                                    llenarTablaCliente();


                                }
                                else
                                {
                                    MessageBox.Show("Error al actualizar cliente" + res + "", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Error);
                                }
                            }

                        }
                        else
                        {
                            string res = "";
                            double deuda = Convert.ToDouble(txtDeuda.Text);
                            clienteFacade clienteF = new clienteFacade();
                            res = clienteF.actualizarCliente(rut, nombre, descuento, deuda);



                            if (res.Equals(""))
                            {
                                MessageBox.Show("Cliente actualizado", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Information);
                                txtrut.Text = "";
                                txtNombre.Text = "";
                                txtDescuento.Text = "";
                                btnguardarCliente.Visibility = Visibility.Visible;
                                btncancelarEditarCliente.Visibility = Visibility.Hidden;
                                btnGuardarActualizarCliente.Visibility = Visibility.Hidden;
                                ldeuda.Visibility = Visibility.Hidden;
                                txtDeuda.Visibility = Visibility.Hidden;
                                txtrut.IsEnabled = true;

                                llenarTablaCliente();


                            }
                            else
                            {
                                MessageBox.Show("Error al actualizar cliente" + res + "", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Error);
                            }

                        }
                    }
                }
                else
                {
                    if (Convert.ToInt32(descuento) > 100)
                    {
                        MessageBox.Show("Descuento asociado a cliente es invalido.", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Error);

                    }
                    else if (Convert.ToInt32(descuento) == 100)
                    {
                        //Guardar Cliente
                        if (MessageBox.Show("Esta seguro de ingresar cliente FREE(no tendra costo en compra por descuento de 100%)? ", "Cliente FREE", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes)
                        {



                            string res = "";

                            clienteFacade clienteF = new clienteFacade();
                            res = clienteF.actualizarCliente(rut, nombre, descuento, 0);



                            if (res.Equals(""))
                            {
                                MessageBox.Show("Cliente actualizado", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Information);
                                txtrut.Text = "";
                                txtNombre.Text = "";
                                txtDescuento.Text = "";
                                btnguardarCliente.Visibility = Visibility.Visible;
                                btncancelarEditarCliente.Visibility = Visibility.Hidden;
                                btnGuardarActualizarCliente.Visibility = Visibility.Hidden;
                                txtrut.IsEnabled = true;

                                llenarTablaCliente();


                            }
                            else
                            {
                                MessageBox.Show("Error al actualizar cliente" + res + "", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Error);
                            }
                        }
                    }
                    else
                    {

                        string res = "";

                        clienteFacade clienteF = new clienteFacade();
                        res = clienteF.actualizarCliente(rut, nombre, descuento, 0);



                        if (res.Equals(""))
                        {
                            MessageBox.Show("Cliente actualizado", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Information);
                            txtrut.Text = "";
                            txtNombre.Text = "";
                            txtDescuento.Text = "";
                            btnguardarCliente.Visibility = Visibility.Visible;
                            btncancelarEditarCliente.Visibility = Visibility.Hidden;
                            btnGuardarActualizarCliente.Visibility = Visibility.Hidden;
                            txtrut.IsEnabled = true;

                            llenarTablaCliente();


                        }
                        else
                        {
                            MessageBox.Show("Error al actualizar cliente" + res + "", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Error);
                        }
                    }
                }
            }




            /*}
            else
            {
                MessageBox.Show("Seleccionar un cliente para actualizar");
            }*/

        }
Ejemplo n.º 9
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);
            }

        }