private void CargarDatos()
        {
            FBDAL dal = new FBDAL();
            List<DoctosCC> lstCxC = dal.ObtenerDocumentosDeCobranza(hoy);
            List<DoctosCC> lstSource = new List<DoctosCC>();
            foreach (string concepto in Properties.Settings.Default.ConceptosEfectivo)
            {
                lstSource.AddRange(lstCxC.FindAll(o => o.iIDConcepto == Convert.ToInt32(concepto)));
            }

            gridCxC.DataSource = lstSource.OrderBy(o=>o.dTotal).ToList();
            gvCxC.BestFitColumns();

            var lstPV = dal.ObtenerIngresos(hoy);
            gridIngresos.DataSource = lstPV.OrderBy(o => o.Total).ToList();
            gvIngresos.BestFitColumns();

            decimal diferencia = lstSource.Sum(o => o.dTotal) - lstPV.Sum(o => o.Total);
            lblDiferencia.Text = string.Format("Diferencia: {0}", diferencia.ToString("c"));
        }
        private void ObtenerTotales()
        {
            lstTotales.Clear();

            var lstPuntoDeVenta = (List<PuntoDeVenta>)gridPV.DataSource;
            var lstFacturacion = (List<DoctosVE>)gridFacturacion.DataSource;
            var lstCobranza = (List<DoctosCC>)gridCobranza.DataSource;
            var lstCajaFuerte = (List<DoctosPV>)GridCajaFuerte.DataSource;
            var lstTarjetas = (List<DoctosPV>)gridTarjetas.DataSource;
            var lstMasEfectivos = (List<DoctosPV>) gridMasEfectivos.DataSource;
            var lstFaltantesSobrantes = (List<DoctosPV>)gridFaltantesSobrantes.DataSource;
            decimal dTotalCheques = new FBDAL().ObtenerTotalCheques(hoy);

            AgregarTotalALaLista(TipoDeTotal.PuntoDeVenta, lstPuntoDeVenta.Sum(o => o.Importe));
            AgregarTotalALaLista(TipoDeTotal.Facturacion, lstFacturacion.Sum(o => o.dTotal));
            AgregarTotalALaLista(TipoDeTotal.Cobranza, lstCobranza.Sum(o => o.dTotal));
            AgregarTotalALaLista(TipoDeTotal.CajaFuerte, lstCajaFuerte.Sum(o => o.Total));
            AgregarTotalALaLista(TipoDeTotal.Tarjetas, lstTarjetas.Sum(o => o.Total));
            AgregarTotalALaLista(TipoDeTotal.MasEfectivos, lstMasEfectivos.Sum(o => o.Total));
            AgregarTotalALaLista(TipoDeTotal.FaltanteSobrante, lstFaltantesSobrantes.Sum(o => o.Total));

            AgregarTotalALaLista(TipoDeTotal.Cheques, dTotalCheques);
            lstTotales = lstTotales.Distinct().ToList();
        }
        private void CargarTarjetas()
        {
            FBDAL dal = new FBDAL();
            var lstPagosConTarjeta = dal.ObtenerPagosConTarjetas(hoy);

            gridTarjetas.DataSource = lstPagosConTarjeta;
            gvTarjetas.BestFitColumns();
        }
        private void CargarRetiros()
        {
            FBDAL dal = new FBDAL();

            List<DoctosPV> lstDoctosPV = dal.ObtenerRetirosDeCajas(hoy);

            GridCajaFuerte.DataSource = lstDoctosPV;
            gvCajaFuerte.BestFitColumns();
        }
        private void CargarPV()
        {
            FBDAL dal = new FBDAL();
            List<Cajas> lstCajas = dal.ObtenerCajas();
            List<DoctosPV> lstDoctosPV = dal.ObtenerDocumentosDePuntoDeVenta(hoy);
            List<PuntoDeVenta> lstVentas = new List<PuntoDeVenta>();

            PuntoDeVenta venta;

            foreach (Cajas caja in lstCajas)
            {
                venta = new PuntoDeVenta();
                List<DoctosPV> lstVentasPorCaja = lstDoctosPV.FindAll(o => o.CajaID == caja.ID);
                if (lstVentasPorCaja.Count != 0)
                {
                    //La caja si tiene movimientos
                    decimal importe = lstVentasPorCaja.Sum(o => o.Total);
                    venta.Caja = caja.Nombre;
                    venta.Importe = importe;

                    lstVentas.Add(venta);
                }
            }

            gridPV.DataSource=lstVentas;
            gvPV.BestFitColumns();
        }
        private void CargarFaltantesSobrantes()
        {
            FBDAL dal = new FBDAL();
            List<Cajas> lstCajas = dal.ObtenerCajas();

            DoctosPV FaltanteSobrante;
            List<DoctosPV> lstFaltanteSobrante = new List<DoctosPV>();
            foreach (Cajas caja in lstCajas)
            {
                FaltanteSobrante = new DoctosPV();
                decimal dTotalEsperado = dal.ObtenerVentaTotalDeCajaEsperado(caja.ID, hoy);
                decimal dTotalReal = dal.ObtenerVentaTotalDeCajaReal(caja.ID, hoy);
                decimal dFaltanteSobrante = dTotalReal - dTotalEsperado;

                if (dTotalReal != 0)
                {
                    FaltanteSobrante.CajaID = caja.ID;
                    FaltanteSobrante.NombreCaja = caja.Nombre;
                    FaltanteSobrante.Neto = dFaltanteSobrante;
                    FaltanteSobrante.Impuesto = 0;
                    lstFaltanteSobrante.Add(FaltanteSobrante);
                }
            }

            gridFaltantesSobrantes.DataSource = lstFaltanteSobrante;
            gvFaltantesSobrantes.BestFitColumns();
        }
        private void CargarFacturacion()
        {
            FBDAL dal = new FBDAL();
            List<DoctosVE> lstDoctosVE = dal.ObtenerDocumentosDeFacturacion(hoy);
            List<DoctosVE> lstSource = new List<DoctosVE>();

            DoctosVE ResultadosFacturacion = new DoctosVE();
            ResultadosFacturacion.Folio = "Documentos Facturados";
            ResultadosFacturacion.dNeto = lstDoctosVE.Sum(o => o.dNeto);
            ResultadosFacturacion.dImpuestos = lstDoctosVE.Sum(o => o.dImpuestos);

            lstSource.Add(ResultadosFacturacion);

            gridFacturacion.DataSource = lstSource;
            gvFacturacion.BestFitColumns();
        }
        private void CargarCobranza()
        {
            FBDAL dal = new FBDAL();
            List<ConceptosCC> lstConceptosCC = dal.ObtenerConceptosCC();
            List<DoctosCC> lstDoctosCC = dal.ObtenerDocumentosDeCobranza(hoy);
            List<DoctosCC> lstSource = new List<DoctosCC>();

            DoctosCC ResultadosCobranza;

            foreach (ConceptosCC concepto in lstConceptosCC)
            {
                List<DoctosCC> lstAux = lstDoctosCC.FindAll(o => o.iIDConcepto == concepto.iID);
                if (Properties.Settings.Default.ConceptosEfectivo.Contains(concepto.iID.ToString()) == true ||
                    Properties.Settings.Default.ConceptosCheques.Contains(concepto.iID.ToString()) == true)
                {
                    ResultadosCobranza = new DoctosCC();
                    ResultadosCobranza.iIDConcepto = concepto.iID;
                    ResultadosCobranza.sConcepto = concepto.sConcepto;
                    ResultadosCobranza.dNeto = lstAux.Sum(o => o.dNeto);
                    ResultadosCobranza.dImpuestos = lstAux.Sum(o => o.dImpuestos);

                    lstSource.Add(ResultadosCobranza);
                }
            }

            gridCobranza.DataSource = lstSource;
            gvCobranza.BestFitColumns();
        }
        private void llenarGridConceptos()
        {
            try
            {
                gridCheques.DataSource = null;
                gridEfectivo.DataSource = null;
                FBDAL dal = new FBDAL();
                var lstConceptos = dal.ObtenerConceptosCC();
                List<SeleccionConceptosCC> lstConceptosEfectivo = new List<SeleccionConceptosCC>();
                List<SeleccionConceptosCC> lstConceptosCheques = new List<SeleccionConceptosCC>();

                foreach (ConceptosCC concepto in lstConceptos)
                {
                    SeleccionConceptosCC ConceptoEfectivo = new SeleccionConceptosCC();
                    ConceptoEfectivo.Concepto = concepto;

                    SeleccionConceptosCC ConceptoCheques = new SeleccionConceptosCC();
                    ConceptoCheques.Concepto = concepto;

                    lstConceptosEfectivo.Add(ConceptoEfectivo);
                    lstConceptosCheques.Add(ConceptoCheques);
                }

                gridEfectivo.DataSource = lstConceptosEfectivo;
                gvEfectivo.BestFitColumns();

                gridCheques.DataSource = lstConceptosCheques;
                gvCheques.BestFitColumns();
            }
            catch
            {

            }
        }