コード例 #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());
            }

        }
コード例 #2
0
ファイル: Ventas.xaml.cs プロジェクト: hectorcayul/Magnolia-
        private void btnCancelarVenta_Click(object sender, RoutedEventArgs e)
        {
            if (!string.IsNullOrEmpty(ventaTemp.idProducto))
            {
                if (MessageBox.Show("Hay un proceso de cambio de producto.¿Esta seguro de cancelar operación?", "Cambiar Vendedor", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes)
                {
                    limpiarRegistroVentas();
                    btnPagar.Content = "Pagar";
                    ventaTemp = new VentaTemporal();
                    ltotalDevolucion.Visibility = Visibility.Hidden;
                    txtTotaldevolucion.Visibility = Visibility.Hidden;
                    lDiferencia.Visibility = Visibility.Hidden;
                    txtDiferencia.Visibility = Visibility.Hidden;
                    dineroDevolucion = 0;
                }
            }
            else
            {
                limpiarRegistroVentas();
            }


        }
コード例 #3
0
        private void btnBuscarVenta_Click(object sender, RoutedEventArgs e)
        {

            if (txtidventa.Text.Equals(""))
            {
                MessageBox.Show("Ingresar idventa", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
            else if (txtidProducto.Text.Equals(""))
            {
                MessageBox.Show("Ingresar idProducto", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
            else if (fechaventa.Text.Equals(""))
            {
                MessageBox.Show("Ingresar Fecha", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
            else
            {


                ventasFacade ventFac = new ventasFacade();
                List<MVentas> listaVentaDevolucion = ventFac.getVentasForDevolucion(Convert.ToDouble(txtidventa.Text), txtidProducto.Text, Convert.ToDateTime(fechaventa.Text));
                var rows = GetDataGridRows(datagridVentas);
                if (listaVentaDevolucion.Count != 0)
                {
                    venta.Clear();
                    datagridVentas.ItemsSource = venta;
                    //llenar datagridVenta para devoulcion
                    foreach (var item in listaVentaDevolucion)
                    {
                        ProductoFacade prodFobtener = new ProductoFacade();
                        Producto Prod = new Producto();
                        Prod = prodFobtener.getProductosByID(item.idProducto);
                        vtemp = new VentaTemporal(item.idVenta, item.idProducto, Prod.nombre, Prod.precio, item.cantidad.ToString(), "1", item.total.ToString());
                        venta.Add(vtemp);
                        cantidad = cantidad + 1;
                        total = total + Convert.ToInt32(item.total);

                        //ltotal.Content = Prod.precio;
                        ltotal.Content = item.total;
                        TextBoxValue.Text = item.cantidad.ToString();
                    }
                    datagridVentas.ItemsSource = venta;
                }
                else
                {
                    MessageBox.Show("No se han encontrado ventas con estos datos.", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Error);
                }

            }

        }
コード例 #4
0
ファイル: Ventas.xaml.cs プロジェクト: hectorcayul/Magnolia-
        private void btnBorrarProdVenta_Click(object sender, RoutedEventArgs e)
        {
            //pasar datos a lista y luego borrar posicion obtenida y actualizar datagrid
            VentaTemporal customer = datagridVentas.SelectedItem as VentaTemporal;
            /*venta.Remove(customer);*/
            int totaldatos = datagridVentas.Items.Count;
            int filaProd = 0;
            List<VentaTemporal> vtemporal = new List<VentaTemporal>();
            VentaTemporal vtemp = new VentaTemporal();
            var rows = GetDataGridRows(datagridVentas);
            int num = 0;
            int precioProd = 0;
            //Llenar lista con los productos en datagrid para sumarle uno mas en cantidad


            foreach (DataGridRow r in rows)
            {
                VentaTemporal rv = (VentaTemporal)r.Item;
                vtemporal.Add(rv);

            }

            foreach (var r in vtemporal)
            {
                if (customer.idProducto.Equals(r.idProducto))
                {
                    filaProd = num;
                    precioProd = Convert.ToInt32(r.total);
                }
                num = num + 1;
            }
            subtotal = subtotal - precioProd;
            venta.RemoveAt(filaProd);
            //Setear subtotal de venta 
            if (venta.Count == 0)
            {
                txtsubtotal.Text = "0";
                subtotal = 0;
            }
            datagridVentas.ItemsSource = venta;

            if (subtotal < 0)
            {
                subtotal = 0;
            }
            int numProducto = 0;
            foreach (var i in venta)
            {
                subtotal = subtotal + Convert.ToInt32(i.total);
                //MessageBox.Show(i.total.ToString());
                numProducto = numProducto + 1;
            }

            txtCantidadProductos.Content = numProducto.ToString();
            txtsubtotal.Text = subtotal.ToString();

            int prT = ToEntero(subtotal.ToString(), NumberStyles.Float | NumberStyles.AllowThousands, new CultureInfo("en-GB"));
            txttotal.Text = prT.ToString("#,#", CultureInfo.InvariantCulture); ;


            int d = subtotal - dineroDevolucion;
            if (d < 0)
            {
                txtDiferencia.Text = "0";
            }
            else
            {
                txtDiferencia.Text = d.ToString();

            }


        }
コード例 #5
0
ファイル: Ventas.xaml.cs プロジェクト: hectorcayul/Magnolia-
 public void setVenta(VentaTemporal v)
 {
     ventaTemp = v;
 }
コード例 #6
0
ファイル: Ventas.xaml.cs プロジェクト: hectorcayul/Magnolia-
        /*********************************/


        /*********************************/


        //buscar producto mediante id ingresado
        private void codProdVenta_TextChanged(object sender, TextChangedEventArgs e)
        {

            ProductoFacade prodF = new ProductoFacade();
            bool existe = prodF.getExisteProductoByidProd(txtcodProdVenta.Text);


            if (existe)
            {
                ProductoFacade prodFobtener = new ProductoFacade();
                Producto Prod = new Producto();
                Prod = prodFobtener.getProductosByID(txtcodProdVenta.Text);
                //Si producto ya esta en tablapara venta aumentar cantidad
                if (Convert.ToInt32(Prod.stock) <= 0)
                {
                    MessageBox.Show("El producto no cuenta con más stock", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Error);
                }
                else
                {

                    //comparar en datagrid si esta
                    bool sumarCantidad = false;
                    int cantidad = 0;
                    int totaldatos = datagridVentas.Items.Count;
                    int filaProd = 0;
                    List<VentaTemporal> vtemporal = new List<VentaTemporal>();
                    VentaTemporal vtemp = new VentaTemporal();
                    var rows = GetDataGridRows(datagridVentas);
                    int num = 0;
                    //Se verifica si tabla tiene ya ese producto y asi aumentar canditad
                    if (totaldatos > 0)
                    { //Llenar lista con los productos en datagrid para sumarle uno mas en cantidad
                        foreach (DataGridRow r in rows)
                        {
                            VentaTemporal rv = (VentaTemporal)r.Item;
                            vtemporal.Add(rv);

                        }
                        foreach (DataGridRow r in rows)
                        {
                            VentaTemporal rv = (VentaTemporal)r.Item;
                            //MessageBox.Show(txtcodProdVenta.Text+"="+rv.idProducto);
                            if (txtcodProdVenta.Text.Equals(rv.idProducto))
                            {
                                sumarCantidad = true;
                                /*int pre = ToEntero(rv.precio, NumberStyles.Float | NumberStyles.AllowThousands, new CultureInfo("en-GB"));
                                string m = pre.ToString("#,#", CultureInfo.InvariantCulture);
                                MessageBox.Show(rv.precio);*/
                                vtemp = new VentaTemporal(rv.idVenta, rv.idProducto, rv.nombre, rv.precio, rv.cantidad, rv.total);
                                cantidad = Convert.ToInt32(rv.cantidad) + 1;
                                filaProd = num;
                            }
                            num = num + 1;
                        }
                    }

                    //Verificar stock de producto
                    ProductoFacade prodcantiFacade = new ProductoFacade();
                    int maxstock = Convert.ToInt32(prodcantiFacade.getStockProductoByidProd(txtcodProdVenta.Text));
                    if (cantidad <= maxstock)
                    {

                        if (sumarCantidad)
                        {
                            //Editar cantidad y setear total precio

                            int totalProducto = Convert.ToInt32(Prod.precio) * Convert.ToInt32(cantidad);
                            //borrar fila delista con id y actualizar la cantidad y precio
                            vtemporal[filaProd].cantidad = cantidad.ToString();
                            vtemporal[filaProd].total = totalProducto.ToString();

                            // subtotal = subtotal + totalProducto;

                            datagridVentas.ItemsSource = null;
                            datagridVentas.ItemsSource = vtemporal;

                            //Llenar textbox con total

                        }
                        else
                        {
                            //MessageBox.Show("Primer producto agregado");
                            //Nuevo producto para venta a  proceso de venta
                            venta.Add(new VentaTemporal { idProducto = Prod.idProducto, nombre = Prod.nombre, precio = Prod.precio, cantidad = "1", total = Prod.precio });
                            datagridVentas.ItemsSource = venta;
                            subtotal = subtotal + Convert.ToInt32(Prod.precio);
                        }
                        //txtcodProdVenta.Text = "";
                    }
                    else
                    {
                        MessageBox.Show("El producto no cuenta con más stock", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Error);
                    }
                }
                txtcodProdVenta.Text = "";
            }
            else
            {


            }
            //Recorrer tabla para sumar total
            subtotal = 0;
            int numProducto = 0;
            foreach (var i in venta)
            {
                subtotal = subtotal + Convert.ToInt32(i.total);
                //MessageBox.Show(i.total.ToString());
                numProducto = numProducto + 1;
            }
            int mtotalDevo = subtotal - dineroDevolucion;
            if (mtotalDevo < 0)
            {
                //Quiere decir que totaldevolucion tiene saldo 
                txtDiferencia.Text = (mtotalDevo * -1).ToString();
                mtotalDevo = 0;

            }
            else

            {
                txtDiferencia.Text = "0";
            }

            if (mtotalDevo < 0)
            {
                mtotalDevo = mtotalDevo * -1;
            }
            int p = ToEntero(mtotalDevo.ToString(), NumberStyles.Float | NumberStyles.AllowThousands, new CultureInfo("en-GB"));
            txtsubtotal.Text = p.ToString("#,#", CultureInfo.InvariantCulture);


            txtCantidadProductos.Content = numProducto.ToString();
            if (Convert.ToInt32(txtdescuento.Text) == 0)
            {
                int pr = ToEntero(txtsubtotal.Text, NumberStyles.Float | NumberStyles.AllowThousands, new CultureInfo("en-GB"));
                txttotal.Text = pr.ToString("#,#", CultureInfo.InvariantCulture);

            }
            else
            {
                int pr = ToEntero(txtsubtotal.Text, NumberStyles.Float | NumberStyles.AllowThousands, new CultureInfo("en-GB"));

                double des = Convert.ToDouble(txtdescuento.Text) / Convert.ToInt32(100);
                double res = (Convert.ToInt32(pr) - Convert.ToDouble(pr) * des);
                txttotal.Text = res.ToString("#,#", CultureInfo.InvariantCulture);
            }

        }
コード例 #7
0
ファイル: Ventas.xaml.cs プロジェクト: hectorcayul/Magnolia-
        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);
            }

        }
コード例 #8
0
        private void btnBuscarVenta_Click(object sender, RoutedEventArgs e)
        {

            if (txtidventa.Text.Equals(""))
            {
                MessageBox.Show("Ingresar idventa", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
            else if (txtidProducto.Text.Equals(""))
            {
                MessageBox.Show("Ingresar idProducto", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
            else if (fechaventa.Text.Equals(""))
            {
                MessageBox.Show("Ingresar Fecha", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
            else
            {
                int n;
                bool isNumeric = int.TryParse(txtidventa.Text, out n);
                if (isNumeric)
                {

                    ventasFacade ventFac = new ventasFacade();
                    List<MVentas> listaVentaDevolucion = ventFac.getVentasForDevolucion(Convert.ToInt32(txtidventa.Text), txtidProducto.Text, Convert.ToDateTime(fechaventa.Text));
                    var rows = GetDataGridRows(datagridVentas);
                    if (listaVentaDevolucion.Count != 0)
                    {
                        venta.Clear();
                        datagridVentas.ItemsSource = venta;
                        //llenar datagridVenta para devoulcion
                        foreach (var item in listaVentaDevolucion)
                        {
                            ProductoFacade prodFobtener = new ProductoFacade();
                            Producto Prod = new Producto();
                            Prod = prodFobtener.getProductosByID(item.idProducto);
                            int p = ToEntero(Prod.precio, NumberStyles.Float | NumberStyles.AllowThousands, new CultureInfo("en-GB"));
                            string precio = p.ToString("#,#", CultureInfo.InvariantCulture);
                            int t = ToEntero(item.total.ToString(), NumberStyles.Float | NumberStyles.AllowThousands, new CultureInfo("en-GB"));
                            string total = t.ToString("#,#", CultureInfo.InvariantCulture); ;
                            vtemp = new VentaTemporal(Convert.ToInt32(item.idVenta), item.idProducto, Prod.nombre, precio, item.cantidad.ToString(), "1", total.ToString());
                            venta.Add(vtemp);
                            cantidad = cantidad + 1;
                            total = total + Convert.ToInt32(item.total);

                            //ltotal.Content = Prod.precio;
                            int st = ToEntero(item.total.ToString(), NumberStyles.Float | NumberStyles.AllowThousands, new CultureInfo("en-GB"));
                            string stp = st.ToString("#,#", CultureInfo.InvariantCulture);

                            ltotal.Content = stp;
                            TextBoxValue.Text = item.cantidad.ToString();
                        }
                        datagridVentas.ItemsSource = venta;
                    }
                    else
                    {
                        MessageBox.Show("No se han encontrado ventas con estos datos.", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Error);
                    }
                }
                else
                {
                    MessageBox.Show("No se han encontrado ventas con estos datos.", "Magnolia", MessageBoxButton.OK, MessageBoxImage.Error);
                }

            }

        }