public ActionResult EstCtasCtesConciliado(FiltrosEstadoCtasCorrientes Filtros)
        {
            //Condiciones Si elige un tipo de listado.
            //Si se quiere mostrar no conciliada "Eliminar las que esten conciliadas".
            //Si se quiere mostrar las conciliadas "Retornar solo las conciliadas".
            //Si se quiere mostrar todas entonces no pasar por este proceso.

            //Cambiar el estado en la base de datos a conciliado si el movimiento lo está al momento de calcularlo
            //En el futuro utilizar este modulo para refrescar y calcular los conciliados ¿Con qué sentido? ->
            //R: al hacer esto por detrás y no renderizar una vista se habrán establecido los conciliados -> no conciliados y la lista completa que incluye a los 2
            //Entonces al crear la query simplemente irá a buscar los que estén conciliados y no tendrá que hacer todo el calculo nuevamente lo que permite una mejora
            //Tremenda en el tiempo de carga de estas listas.

            //Entonces paso 1 -> Según el id del movimiento si está conciliado etiquetarlo como tal.
            //Paso 2 Crear las querys correspondientes para obtener esta lista conciliada
            //Paso 3 Crear el modulo de los pendientes que solo tendrá aquellos que no estén conciliados.
            //Paso 4 Crear la manera de pagar estos documentos basandose en como se hace la conciliación bancaria.

            string                 UserID     = User.Identity.GetUserId();
            FacturaPoliContext     db         = ParseExtensions.GetDatabaseContext(UserID);
            ClientesContablesModel objCliente = PerfilamientoModule.GetClienteContableSeleccionado(Session, UserID, db);

            var lstCtasAux = UsoComunAux.LstAuxConMovimiento(db, objCliente);

            ViewBag.lstCtasCtes = lstCtasAux;
            ViewBag.ObjCliente  = objCliente;

            List <ObjetoCtasCtesPorConciliar>      ListaOrdenadaConAcumulados = new List <ObjetoCtasCtesPorConciliar>();
            List <EstCtasCtesConciliadasViewModel> ListaProcesada             = new List <EstCtasCtesConciliadasViewModel>();
            List <ObjetoCtasCtesPorConciliar>      ListaOrdenada = new List <ObjetoCtasCtesPorConciliar>();

            IQueryable <EstCtasCtesConciliadasViewModel> QueryCtaCorrienteTodosLosAnios = EstCtasCtesConciliadasViewModel.GetlstCtasCtesConciliadas(db, objCliente);
            IQueryable <EstCtasCtesConciliadasViewModel> ListaFiltrada = EstCtasCtesConciliadasViewModel.FiltrosCtaCorriente(QueryCtaCorrienteTodosLosAnios, Filtros);

            ListaProcesada = EstCtasCtesConciliadasViewModel.CalcularYConciliarLista(db, objCliente, ListaFiltrada, Filtros);
            ListaOrdenada  = EstCtasCtesConciliadasViewModel.OrdenarListaCtasCtes(ListaProcesada);

            ListaOrdenadaConAcumulados = EstCtasCtesConciliadasViewModel.CalcularAcumulados(ListaOrdenada, QueryCtaCorrienteTodosLosAnios, db, objCliente, Filtros);

            decimal TotalAcumuladosGenerales = EstCtasCtesConciliadasViewModel.CalcularAcumuladosGenerales(ListaOrdenadaConAcumulados, QueryCtaCorrienteTodosLosAnios, Filtros);

            ViewBag.TotalSaldoAcumulado = TotalAcumuladosGenerales;

            Session["EstadoDeCuentasCorrientes"]        = ListaOrdenadaConAcumulados;
            Session["TotalAcumEstadoCuentasCorrientes"] = TotalAcumuladosGenerales;
            Session["Filtros"] = Filtros; // Para manejar los filtros consultados para el reporte de excel.

            return(View(ListaOrdenadaConAcumulados));
        }
        public ActionResult EstadoCtasCorrientes(FiltrosEstadoCtasCorrientes Filtros)
        {
            string                 UserID     = User.Identity.GetUserId();
            FacturaPoliContext     db         = ParseExtensions.GetDatabaseContext(UserID);
            ClientesContablesModel objCliente = PerfilamientoModule.GetClienteContableSeleccionado(Session, UserID, db);

            var lstCtasAux = UsoComunAux.LstAuxConMovimiento(db, objCliente);

            ViewBag.lstCtasCtes = lstCtasAux;

            IQueryable <EstadoCuentasCorrientesViewModel> QueryCtaCorriente       = EstadoCuentasCorrientesViewModel.GetLstCtaCorriente(db, objCliente);
            IQueryable <EstadoCuentasCorrientesViewModel> LstCtaCorrienteBusqueda = EstadoCuentasCorrientesViewModel.FiltrosCtaCorriente(QueryCtaCorriente, Filtros);
            PaginadorModel LstCtasConPaginacion = EstadoCuentasCorrientesViewModel.PaginacionCtasCorrientes(LstCtaCorrienteBusqueda, Filtros);

            Session["EstadoCtaCorriente"] = LstCtasConPaginacion.LstCtasCorrientes;

            return(View(LstCtasConPaginacion));
        }