Example #1
0
        private void GenerarReporte()
        {
            try
            {
                FacturasCajTableAdapter adapterFac = new FacturasCajTableAdapter();
                FacturasCajDataTable    dataFac    = new FacturasCajDataTable();

                if (fechaIni != fechaFin)
                {
                    dataFac = adapterFac.BuscarFacConCajEntreFechas(fechaIni, fechaFin);
                    log.Info($"Se buscó el reporte del {fechaIni.ToString("dd/MM/yyyy")} al {fechaFin.ToString("dd/MM/yyyy")} por el usuario {usuario.Nombre} {usuario.Apellidos}");
                }
                else
                {
                    dataFac = adapterFac.BuscarFacConCajeroHoy(fechaIni);
                    log.Info($"Se buscó el reporte del {fechaIni.ToString("dd/MM/yyyy")}  por el usuario {usuario.Nombre} {usuario.Apellidos}");
                }

                decimal totalVentas = 0;

                if (dataFac.Rows.Count > 0)
                {
                    foreach (FacturasCajRow facturas in dataFac)
                    {
                        DetalleProTableAdapter adapterDet = new DetalleProTableAdapter();
                        DetalleProDataTable    dataDet    = adapterDet.DetallePorIdFacConProd(facturas.IdFactura);

                        foreach (DetalleProRow detalles in dataDet)
                        {
                            double ITBIS = Convert.ToDouble(detalles.Precio * detalles.Cantidad) * 0.18;
                            ITBIS = Math.Round(ITBIS, 2);
                            double importe = Convert.ToDouble(detalles.Precio * detalles.Cantidad) + ITBIS;
                            importe = Math.Round(importe, 2);

                            dgvDetalles.Rows.Add(facturas.Cajero, facturas.IdFactura, detalles.Descripcion, detalles.Precio, detalles.Cantidad, ITBIS, detalles.Descuento, importe - Convert.ToDouble(detalles.Descuento));
                        }

                        totalVentas += facturas.TotalGeneral;
                    }

                    txtTotalVentas.Text = totalVentas.ToString();
                    txtNumVentas.Text   = dataFac.Rows.Count.ToString();

                    btnGuardar.Enabled  = true;
                    btnDetallar.Enabled = true;
                }
                else
                {
                    btnGuardar.Enabled  = false;
                    btnDetallar.Enabled = false;
                    LimpiarTodo();
                    MessageBox.Show("No hay facturas entre las fechas ingresadas");
                }
            }
            catch (Exception error)
            {
                log.Error($"Error: {error.Message}", error);
                MessageBox.Show($"Error: {error.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Example #2
0
        private void LlenarData(int IdFactura)//metodo que llena el datagridview con el detalle de la factura
        {
            try
            {
                DetalleProTableAdapter adapterDet = new DetalleProTableAdapter();                                                                                                                 //objeto para utilizar los querys de tblFacturaD relacionada con tblProducto (nombre del producto)
                DetalleProDataTable    dataDet    = adapterDet.DetallePorIdFacConProd(IdFactura);                                                                                                 //objeto para almacenar informacion proveniente de tblFacturaD relacionada con tblProducto (nombre del producto), en este caso el detalle de la factura buscada

                foreach (DetalleProRow item in dataDet)                                                                                                                                           //recorre cada fila que se almacenó
                {
                    dgvFactura.Rows.Add(item.Descripcion, item.Precio, item.Cantidad, item.ITBIS, item.Descuento, (item.Precio * item.Cantidad) + item.ITBIS - (item.Descuento * item.Cantidad)); //ingresa la informacion en el datagridview
                }
            }
            catch (Exception error)
            {
                log.Error($"Error: {error.Message}", error);
                MessageBox.Show($"Error: {error.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Example #3
0
        private void ReporteDelDia_Load(object sender, EventArgs e)
        {
            try
            {
                lblReporteDelDia.Text += $": {DateTime.Today.ToString("dd/MM/yyyy")}";                                                                                                         //se coloca en el label reportedeldia el dia que tiene el sistema
                lblFechaPequena.Text   = $"{DateTime.Today.ToString("dddd")}, {DateTime.Today.ToString("dd")} de {DateTime.Today.ToString("MMMM")} del año {DateTime.Today.ToString("yyyy")}"; //coloca de forma extendida en la fecha que tiene el sistema
                FacturasCajTableAdapter adapterFac = new FacturasCajTableAdapter();                                                                                                            //objeto para utilizar querys de tblFactura relacionada con tblUsuario y tblCliente
                FacturasCajDataTable    dataFac    = adapterFac.BuscarFacConCajeroHoy(DateTime.Today);                                                                                         //objeto para almacenar las facturas hechas hoy

                decimal totalVentas = 0, totalDeuda = 0, totalPagado = 0;
                ushort  contDeudas = 0;

                foreach (FacturasCajRow facturas in dataFac)                                                   //se recorre cada factura de hoy
                {
                    DetalleProTableAdapter adapterDet = new DetalleProTableAdapter();                          //objeto para utilizar los querys de tblFacturaD
                    DetalleProDataTable    dataDet    = adapterDet.DetallePorIdFacConProd(facturas.IdFactura); //objeto almacenar el detalle de las facturas

                    foreach (DetalleProRow detalles in dataDet)                                                //objeto para recorrer cada detalle de la factura
                    {
                        decimal itbis = detalles.ITBIS;                                                        //se almacena el itbis
                        // double ITBIS = Convert.ToDouble(detalles.Precio * detalles.Cantidad) * 0.18;//calcula y almacena el itbis
                        //ITBIS = Math.Round(ITBIS, 2);//redondea el itbis
                        decimal importe = detalles.Precio * detalles.Cantidad + itbis;                                                                                                                //se calcula el importe
                        importe = Math.Round(importe, 2);                                                                                                                                             //se redondea hacia arriba el importe con dos decimales

                        dgvDetalles.Rows.Add(facturas.Cajero, facturas.IdFactura, detalles.Descripcion, detalles.Precio, detalles.Cantidad, itbis, detalles.Descuento, importe - detalles.Descuento); //se ingresa cada detalle en el dgvDetalles
                    }

                    totalVentas += facturas.TotalGeneral;                                                                  //almacena el valor de total de cada factura y se va sumando al total de ventas del dia

                    if (facturas.Pago < facturas.TotalGeneral)                                                             //si la cantidad pagada es menor que el total de la factura (si no se ha terminado de pagar la factura)
                    {
                        decimal deudaHoy = facturas.Pago - facturas.TotalGeneral;                                          //se almacena la cantidad por pagar
                        deudaHoy *= -1;                                                                                    //se pone positiva el valor de la deuda

                        dgvDeudas.Rows.Add(facturas.Cajero, facturas.NomCliente, deudaHoy.ToString(), facturas.MontoDebe); //se añade la factura en el datagridview de deudas
                        totalDeuda += deudaHoy;                                                                            //se suma el valor de la deuda al total de deudas del dia
                        contDeudas++;                                                                                      //se suma uno a la cantidad de deudas
                    }
                }

                PagoDeudaTableAdapter adapterPaD = new PagoDeudaTableAdapter();                                //objeto para utilizar los querys de tblPagoDeuda
                PagoDeudaDataTable    dataPaD    = adapterPaD.BuscarHoyPD(DateTime.Today);                     //se buscan los pagos que se pagaron de deuda

                foreach (PagoDeudaRow item in dataPaD)                                                         //recorre cada pago de deuda
                {
                    dgvPagoDeudas.Rows.Add(item.NomCliente, item.DeudaAnterior, item.Abono, item.DeudaActual); //se inserta la deuda en el datagridview pagodeudas
                    totalPagado += item.Abono;                                                                 //se suma al total pagado la cantidad que se abonó en este pago de deuda
                }

                txtTotalVentas.Text = totalVentas.ToString();                //se coloca el el total que se generaron de ventas en el textbox ventas
                txtDeudas.Text      = totalDeuda.ToString();                 //se coloca el total de deudas generadas en el textbox deudas
                txtAbonos.Text      = totalPagado.ToString();                //se coloca el total abonado en el textbox total abonado
                txtNumVentas.Text   = dataFac.Rows.Count.ToString();         //se coloca el numero de ventas en el textbox numventas
                txtNumDeudas.Text   = contDeudas.ToString();                 //se coloca el numero de deudas en el textbox numdeudas
                txtNumAbonos.Text   = dataPaD.Rows.Count.ToString();         //se coloca el numero de pago de deudas en el textbox numabonos
                txtTotal.Text       = (totalVentas - totalDeuda).ToString(); //se coloca el total generado del dia en el textbox total
            }
            catch (Exception error)
            {
                log.Error($"Error: {error.Message}", error);
                MessageBox.Show($"Error: {error.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Example #4
0
        private void GenerarReporte(DateTime FechaInicio, DateTime FechaFin)
        {
            try
            {
                FacturasCajTableAdapter adapterFac = new FacturasCajTableAdapter();
                FacturasCajDataTable    dataFac    = adapterFac.BuscarFacConCajEntreFechas(FechaInicio, fechaFin);

                decimal totalVentas = 0, totalDeuda = 0, totalPagado = 0;
                ushort  contDeudas = 0;

                foreach (FacturasCajRow facturas in dataFac)
                {
                    DetalleProTableAdapter adapterDet = new DetalleProTableAdapter();
                    DetalleProDataTable    dataDet    = adapterDet.DetallePorIdFacConProd(facturas.IdFactura);

                    foreach (DetalleProRow detalles in dataDet)
                    {
                        double ITBIS = Convert.ToDouble(detalles.Precio * detalles.Cantidad) * 0.18;
                        ITBIS = Math.Round(ITBIS, 2);
                        double importe = Convert.ToDouble(detalles.Precio * detalles.Cantidad) + ITBIS;
                        importe = Math.Round(importe, 2);

                        dgvDetalles.Rows.Add(facturas.Cajero, facturas.IdFactura, detalles.Descripcion, detalles.Precio, detalles.Cantidad, ITBIS, detalles.Descuento, importe - Convert.ToDouble(detalles.Descuento));
                    }

                    totalVentas += facturas.TotalGeneral;

                    if (facturas.Pago < facturas.TotalGeneral)
                    {
                        decimal deudaHoy = facturas.Pago - facturas.TotalGeneral;
                        deudaHoy *= -1;

                        dgvDeudas.Rows.Add(facturas.Cajero, facturas.NomCliente, deudaHoy.ToString(), facturas.MontoDebe);
                        totalDeuda += deudaHoy;
                        contDeudas++;
                    }
                }

                PagoDeudaTableAdapter adapterPaD = new PagoDeudaTableAdapter();
                PagoDeudaDataTable    dataPaD    = adapterPaD.BuscarEntreFechasPD(FechaInicio, fechaFin);

                foreach (PagoDeudaRow item in dataPaD)
                {
                    dgvPagoDeudas.Rows.Add(item.NomCliente, item.DeudaAnterior, item.Abono, item.DeudaActual);
                    totalPagado += (decimal)item.Abono;
                }

                txtTotalVentas.Text = totalVentas.ToString();
                txtDeudas.Text      = totalDeuda.ToString();
                txtAbonos.Text      = totalPagado.ToString();
                txtNumVentas.Text   = dataFac.Rows.Count.ToString();
                txtNumDeudas.Text   = contDeudas.ToString();
                txtNumAbonos.Text   = dataPaD.Rows.Count.ToString();
                txtTotal.Text       = (totalVentas - totalDeuda).ToString();
            }
            catch (Exception error)
            {
                log.Error($"Error: {error.Message}", error);
                MessageBox.Show($"Error: {error.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }