Beispiel #1
0
        private void GenerarAlertas()//metodo para generar las alertas
        {
            try
            {
                ProductoTableAdapter adapterPro = new ProductoTableAdapter();                     //instanciar objeto para utilizar los querys de la tblProducto
                ProductoDataTable    dataPro    = adapterPro.ProdAcabandose();                    //instanciar objeto para almacenar la data de los productos, en este caso los productos acabandose

                foreach (ProductoRow item in dataPro)                                             //recorre cada fila de productos que se estan acabando
                {
                    dgvAlertas.Rows.Add($"[{item.NombreProducto}] quedan {item.NumExistencias}"); // agrega los productos de un determinado formato en el data grid view
                }

                FacturasCajTableAdapter adapterFac = new FacturasCajTableAdapter();                                                                                 // objeto para utilizar los querys de tblFactura con el nombre del cliente ya traido
                FacturasCajDataTable    dataFac    = adapterFac.FacturaSinPagarConCaj();                                                                            //objeto para almacenar las facturas que tienen mas de un mes sin pagarse

                foreach (FacturasCajRow item in dataFac)                                                                                                            //recorre cada fila de las facturas sin pagar
                {
                    TimeSpan diasDebiendo = DateTime.Now - item.Fecha;                                                                                              // almacena la diferencia de dias que el cliente debe
                    int      diasDebe     = diasDebiendo.Days + 1;                                                                                                  //se le añade un día porque falta uno si no se añade
                    dgvAlertas.Rows.Add($"[{item.NomCliente}] debe RD${item.TotalGeneral - item.Pago} desde hace {diasDebe} días de la factura #{item.IdFactura}"); //se agrega al datagridview el cliente, el pago que debe, los dias y el id de la factura
                }
                log.Info("Se generaron las alertas en el menú");                                                                                                    //se registra que se cargó las alertas
            }
            catch (Exception error)
            {
                log.Error($"Error: {error.Message}", error);
                MessageBox.Show($"Error: {error.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void RealizarBusqueda()//metodo para realizar la busqueda
        {
            try
            {
                int IdFactura = idFactura == 0 ? Convert.ToInt32(txtIdFactura.Text) : idFactura; //si es 0 quiere decir que se inició la ventana buscar factura desde el menu, de lo contrario fue de pagar deudas
                if (txtIdFactura.Text != "" || idFactura != 0)                                   //aqui verifica que se haya asignado un id de factura para buscar
                {
                    LimpiarData();                                                               //metodo para limpiar el datagridview
                    LimpiarPersonas();                                                           //metodo para limpiar los textbox de usuario y cliente
                    FacturasCajTableAdapter adapterFac = new FacturasCajTableAdapter();          //objeto para usar los querys de tblFactura relacionada con tblUsuario (nombre usuario) y tblCliente (nombre cliente)

                    FacturasCajDataTable dataFac = new FacturasCajDataTable();                   //objeto para guardar info proveniente de tblFactura relacionada con tblUsuario (nombre usuario) y tblCliente (nombre cliente)

                    dataFac = adapterFac.BuscarFacPorIdConCajero(IdFactura);                     //el objeto almacena la informacion de la factura que se buscó por el id

                    if (dataFac.Rows.Count > 0)                                                  //aqui verifica que si se encontró una factura
                    {
                        if (dataFac[0][dataFac.IdClienteColumn].ToString() == "0")               //si el id del cliente es 0 quiere decir que la factura no tuvo un cliente especificado
                        {
                            txtNombreCliente.Text = "";                                          //presenta el textbox nombre del cliente limpio
                        }
                        else//si se especificó un cliente
                        {
                            txtNombreCliente.Text = dataFac[0][dataFac.NomClienteColumn].ToString();//se coloca el nombre del cliente en el textbox nombre del cliente
                        }

                        txtNombreUsuario.Text = dataFac[0][dataFac.CajeroColumn].ToString();                                                         //se coloca el nombre del cajero en el textbox nombre de cajero
                        LlenarData(IdFactura);                                                                                                       //se busca el detalle mediante este metodo de la factura

                        DateTime fecha = Convert.ToDateTime(dataFac[0][dataFac.FechaColumn].ToString());                                             //la fecha se almacena en un datetime para despues datle formato
                        txtFecha.Text = $"{fecha.ToString("dddd")} {fecha.ToString("dd")} de {fecha.ToString("MMMM")} del {fecha.ToString("yyyy")}"; //se coloca la fecha en el textbox fecha con un determinado formato

                        txtTotal.Text = dataFac[0][dataFac.TotalGeneralColumn].ToString();                                                           //se coloca el total de la factura en el textbox total

                        txtDescuento.Text = dataFac[0][dataFac.TotalDescuentoColumn].ToString();                                                     //se coloca el total descontado en el textbox descuento

                        txtPago.Text = dataFac[0][dataFac.PagoColumn].ToString();                                                                    //se coloca lo que se pagó en el textbox pago

                        txtDevuelta.Text = (Convert.ToDecimal(txtPago.Text) - Convert.ToDecimal(txtTotal.Text)).ToString();                          //se calcula la devuelta del txtpago menos el txttotal y se coloca en el textbox devuelta
                        log.Info($"Se buscó la factura con el ID {IdFactura} por el usuario {usuario.Nombre} {usuario.Apellidos}");                  //se registra que se buscó la factura
                    }
                    else//si no se encontró la factura
                    {
                        MessageBox.Show("No se encontró la factura", "Búsqueda de factura", MessageBoxButtons.OK, MessageBoxIcon.Error);          //notifica al usuario que no se encontró la factura mediante un mensaje
                        log.Info($"No se encontró la factura con el ID {IdFactura} buscada por el usuario {usuario.Nombre} {usuario.Apellidos}"); //registra que se buscó una factura con un id que no existe
                        LimpiarTodo();                                                                                                            //se limpia toda la ventana
                    }
                }
                else//si no hay una factura ingresada
                {
                    MessageBox.Show("Debe ingresar el ID de la factura", "Error", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                    LimpiarTodo();
                }
            }
            catch (Exception error)
            {
                log.Error($"Error: {error.Message}", error);
                MessageBox.Show($"Error: {error.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Beispiel #3
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);
            }
        }
        private void DetallarFactura_Load(object sender, EventArgs e)
        {
            // TODO: This line of code loads data into the 'tablas.DetallePro' table. You can move, or remove it, as needed.
            this.detalleProTableAdapter.Fill(this.tablas.DetallePro);
            try
            {
                FacturasCajTableAdapter adaperFac = new FacturasCajTableAdapter();
                FacturasCajDataTable    dataFac   = adaperFac.BuscarFacPorIdConCajero(idFactura);
                dgvFactura.DataSource = dataFac;

                foreach (FacturasCajRow item in dataFac)
                {
                    dgvFactura[2, 0].Value = item.Cajero;
                }

                DetallesTableAdapter adapterDet = new DetallesTableAdapter();
                dgvDetalles.DataSource = adapterDet.BuscarDetPorIdFactura(idFactura);
            }
            catch (Exception error)
            {
                log.Error($"Error: {error.Message}", error);
                MessageBox.Show($"Error: {error.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Beispiel #5
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);
            }
        }
Beispiel #6
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);
            }
        }