Exemplo n.º 1
0
    public override void OnAuthorization(AuthorizationContext filterContext)
    {
        if (filterContext.HttpContext.User.Identity.IsAuthenticated == false)
        {
            filterContext.Result = RetornarSeleccionEmisor();
            return;
        }

        string VistaAccedida = filterContext.RouteData.Values["action"].ToString();

        string UserID  = filterContext.HttpContext.User.Identity.GetUserId();
        var    Session = filterContext.HttpContext.Session;

        FacturaPoliContext db = ParseExtensions.GetDatabaseContext(UserID);

        //rescata usuario
        UsuarioModel objUsuario = db.DBUsuarios.SingleOrDefault(r => r.IdentityID == UserID);

        if (objUsuario == null)
        {
            /*REDIRECT A EL PANEL DE SELECCION DE EMISOR*/
            filterContext.Result = RetornarSeleccionEmisor();
            return;
        }

        //rescata emisor seleccionado
        QuickEmisorModel objEmisor = ModuloHelper.GetEmisorSeleccionado(Session, UserID);

        if (objEmisor == null)
        {
            filterContext.Result = RetornarSeleccionEmisor();
            return;
        }
        //ve si el usuario tiene acceso a la vista utilizando este emisor

        IQueryable <ModulosHabilitados> ModulosHabilitados = db.DBModulosHabilitados.Where(r => r.UsuarioModelID == objUsuario.UsuarioModelID && r.QuickEmisorModelID == objEmisor.QuickEmisorModelID);
        List <string> lstFuncionesUsuario = ModulosHabilitados.Select(w => w.Funcion.NombreFuncion).ToList();

        if (lstFuncionesUsuario.Contains(VistaAccedida))
        {
            List <FuncionesModel> lstFuncionesContabilidad = ModulosHabilitados.Where(r => r.Funcion.NombreFuncion == VistaAccedida).Select(r => r.Funcion).ToList();
            //Si es una funcion de contabilidad, revisar si tiene una ClienteEmisorSeleccionado
            if (lstFuncionesContabilidad.Where(r => r.ModuloSistema != null).Any(r => r.ModuloSistema.ModuloSistemaModelID == ParseExtensions.KeyModuloSistemaContable))
            {
                ClientesContablesModel clienteSeleccionado = PerfilamientoModule.GetClienteContableSeleccionado(Session, UserID, db);
                if (clienteSeleccionado == null)
                {
                    filterContext.Result = RetornarSeleccionClienteContable();
                    return;
                }
            }

            return;
        }
        else
        {
            filterContext.Result = RetornarSeleccionEmisor();
            return;
        }
    }
        public JsonResult ObtenerListadoCartolas()
        {
            string                 UserID     = User.Identity.GetUserId();
            FacturaPoliContext     db         = ParseExtensions.GetDatabaseContext(UserID);
            ClientesContablesModel objCliente = PerfilamientoModule.GetClienteContableSeleccionado(Session, UserID, db);

            var ListaCartola = CartolaBancariaMacroModel.GetListaCartola(db, objCliente);

            StringBuilder optionSelect = new StringBuilder();

            bool Result = false;

            if (ListaCartola.Count() > 0)
            {
                optionSelect.Append("<option> Selecciona </option>");
                foreach (var itemCartola in ListaCartola)
                {
                    optionSelect.Append("<option value=\"" + itemCartola.CartolaBancariaMacroModelID + "\">" + "<b>Numero:</b> " + itemCartola.NumeroCartola + " " + "<b>Fecha:</b>  " + ParseExtensions.ToDD_MM_AAAA(itemCartola.FechaCartola) + "</option>");
                }
            }
            else
            {
                optionSelect.Append("<option>No existen cartolas importadas</option>");
            }


            return(Json(new
            {
                ok = Result,
                selectInput = optionSelect.ToString()
            }, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 3
0
    public static int GetCuentaContableIvaAUsar(ClientesContablesModel objCliente)
    {
        FacturaProduccionContext db = new FacturaProduccionContext();
        int cuentaContableId        = db.DBCuentaContable.SingleOrDefault(x => x.CuentaContableModelID == objCliente.ParametrosCliente.CuentaIvaCompras.CuentaContableModelID && x.ClientesContablesModelID == objCliente.ClientesContablesModelID).CuentaContableModelID;

        return(cuentaContableId);
    }
        public ActionResult PendientesAuxDetalle(int IdAux)
        {
            string                 UserID     = User.Identity.GetUserId();
            FacturaPoliContext     db         = ParseExtensions.GetDatabaseContext(UserID);
            ClientesContablesModel objCliente = PerfilamientoModule.GetClienteContableSeleccionado(Session, UserID, db);

            var PendientesAuxDetalle = (from Detalle in db.DBDetalleVoucher
                                        join Voucher in db.DBVoucher on Detalle.VoucherModelID equals Voucher.VoucherModelID
                                        join Auxiliar in db.DBAuxiliares on Detalle.DetalleVoucherModelID equals Auxiliar.DetalleVoucherModelID
                                        join AuxiliarDetalle in db.DBAuxiliaresDetalle on Auxiliar.AuxiliaresModelID equals AuxiliarDetalle.AuxiliaresModelID

                                        where Voucher.DadoDeBaja == false &&
                                        Voucher.ClientesContablesModelID == objCliente.ClientesContablesModelID &&
                                        Detalle.ObjCuentaContable.TieneAuxiliar == 1 &&
                                        Detalle.ConciliadoCtasCtes == false &&
                                        Auxiliar.AuxiliaresModelID == IdAux

                                        select new AuxPendientesDetalle
            {
                Id = AuxiliarDetalle.AuxiliaresDetalleModelID,
                Rut = AuxiliarDetalle.Individuo2.RUT,
                RazonSocial = AuxiliarDetalle.Individuo2.RazonSocial,
                Debe = Detalle.MontoDebe > 0 ? AuxiliarDetalle.MontoTotalLinea : 0,
                Haber = Detalle.MontoHaber > 0 ? AuxiliarDetalle.MontoTotalLinea : 0
            });


            return(View(PendientesAuxDetalle.ToList()));
        }
Exemplo n.º 5
0
    public static byte[] GetExcelLibrosVentaCompra(List <string[]> lstAuxiliares, ClientesContablesModel objCliente, bool InformarMembrete, string titulo)
    {
        byte[] ExcelByteArray = null;
        using (XLWorkbook excelFile = new XLWorkbook(@"C:\LibroVentaCompra.xlsx"))
        {
            var workSheet = excelFile.Worksheet(1);

            if (InformarMembrete == true)
            {
                workSheet.Cell("A1").Value = objCliente.RazonSocial;
                workSheet.Cell("A2").Value = objCliente.RUTEmpresa;
                workSheet.Cell("A3").Value = objCliente.Giro;
                workSheet.Cell("A4").Value = objCliente.Direccion;
                workSheet.Cell("A5").Value = objCliente.Ciudad;
                workSheet.Cell("A6").Value = objCliente.Representante;
                workSheet.Cell("A7").Value = objCliente.RUTRepresentante;
            }
            else
            {
                workSheet.Cell("A1").Value = string.Empty;
                workSheet.Cell("A2").Value = string.Empty;
                workSheet.Cell("A3").Value = string.Empty;
                workSheet.Cell("A4").Value = string.Empty;
                workSheet.Cell("A5").Value = string.Empty;
                workSheet.Cell("A6").Value = string.Empty;
                workSheet.Cell("A7").Value = string.Empty;
            }

            if (string.IsNullOrWhiteSpace(titulo) == false)
            {
                workSheet.Cell("D4").Value = titulo;
            }
            else
            {
                workSheet.Cell("D4").Value = string.Empty;
            }

            int NumeroFilaExcel = 8;
            foreach (string[] tableRow in lstAuxiliares)
            {
                for (int i = 0; i < tableRow.Length; i++)
                {
                    workSheet.Cell(NumeroFilaExcel, i + 1).Value = tableRow[i];
                }
                workSheet.Range("B" + NumeroFilaExcel + ":K" + NumeroFilaExcel) /*.Rows().Style.Border.OutsideBorder = XLBorderStyleValues.Medium*/;
                workSheet.Range("B" + NumeroFilaExcel + ":K" + NumeroFilaExcel) /*.Rows().Style.Border.InsideBorder = XLBorderStyleValues.Double*/;
                NumeroFilaExcel++;
            }
            ExcelByteArray = ParseExtensions.GetExcelStream(excelFile);
        }
        if (ExcelByteArray == null)
        {
            return(null);
        }
        else
        {
            return(ExcelByteArray);
        }
    }
        public ActionResult PendientesAuxiliares()
        {
            string                 UserID     = User.Identity.GetUserId();
            FacturaPoliContext     db         = ParseExtensions.GetDatabaseContext(UserID);
            ClientesContablesModel objCliente = PerfilamientoModule.GetClienteContableSeleccionado(Session, UserID, db);

            //Queda pendiente programar los filtros y la forma de pagar.
            var LstAuxConMovimiento = UsoComunAux.LstAuxConMovimientoTwo(db, objCliente);

            ViewBag.LstCtasAux = LstAuxConMovimiento;

            //Replantearse el uso del detalle o si hay que hacer un objeto para mostrar solo rut y saldo
            //Rut y saldo... Ocupa.. ¿AuxiliarModel?


            //Esta es la posible query de los pendientes a nivel Macro
            var PendientesAux = (from Detalle in db.DBDetalleVoucher
                                 join Voucher in db.DBVoucher on Detalle.VoucherModelID equals Voucher.VoucherModelID
                                 join Auxiliar in db.DBAuxiliares on Detalle.DetalleVoucherModelID equals Auxiliar.DetalleVoucherModelID
                                 join AuxiliarDetalle in db.DBAuxiliaresDetalle on Auxiliar.AuxiliaresModelID equals AuxiliarDetalle.AuxiliaresModelID

                                 where Voucher.DadoDeBaja == false &&
                                 Voucher.ClientesContablesModelID == objCliente.ClientesContablesModelID &&
                                 Detalle.ObjCuentaContable.TieneAuxiliar == 1 &&
                                 Detalle.ConciliadoCtasCtes == false && Detalle.FechaDoc.Year == 2020

                                 select new
            {
                Id = Auxiliar.AuxiliaresModelID,
                Rut = AuxiliarDetalle.Individuo2.RUT,
                RazonSocial = AuxiliarDetalle.Individuo2.RazonSocial,
                Debe = Detalle.MontoDebe,
                Haber = Detalle.MontoHaber
            });

            var PendientesAuxOrder = PendientesAux.GroupBy(x => new { x.Rut, x.RazonSocial })
                                     .Select(y => new AuxPendientesViewModel
            {
                Rut         = y.Key.Rut,
                RazonSocial = y.Key.RazonSocial,
                Saldo       = y.Sum(z => Math.Abs(z.Haber)) - y.Sum(z => Math.Abs(z.Debe))
            }).ToList();


            //Nota Revisar nubox
            //Aqui van los filtros de la cuenta contable que se está buscando conciliar
            //¿Aquí también hay conciliación bancaria? -> No entiendo realmente como hacerlo.

            //Por hacer:
            //Todos aquellos movimientos que se hicieron en la conciliacion bancaria que no tenian información o la cuenta tenia auxiliar y no lo puso
            //Deben mapearse guardarse o encontrarse y dejarlos en este listado de pendientes


            //Por lo que pude notar esto se puede conseguir con la logica hecha en el estado de cuentas corriente
            //¿Como se van a generar los pagos?
            // Escriba aquí la planificación
            // Respuesta rápida -> Con la misma lógica que se usa al importar el excel con sus respectivos movimientos
            return(View(PendientesAuxOrder));
        }
    public static bool ActualizarCartolaMacroConciliacion(FacturaPoliContext db, ClientesContablesModel ObjCliente, int Id, int IdCuentaContable, int IdVoucher)
    {
        bool Result = false;



        return(Result);
    }
    //public static List<ObjCartolaYVouchers> ConvertirAObjetoCartola(List<string[]> Cartola/*, string NombreCtaCont*/)
    //{
    //    List<ObjCartolaYVouchers> LstObjCartolaAutomatica = new List<ObjCartolaYVouchers>();

    //    if(Cartola.Count() > 1)
    //    {
    //        Cartola.RemoveAt(0);
    //        foreach (var itemCartola in Cartola)
    //        {
    //            if (itemCartola.All(x => string.IsNullOrWhiteSpace(x)))
    //            {
    //                continue;
    //            }
    //            else
    //            {
    //                //Datos Cartola
    //                ObjCartolaYVouchers ObjCartolaAutomatica = new ObjCartolaYVouchers();
    //                ObjCartolaAutomatica.Fecha = ParseExtensions.ToDD_MM_AAAA_Multi(itemCartola[0]);
    //                ObjCartolaAutomatica.Docum = Convert.ToInt32(itemCartola[1]);
    //                ObjCartolaAutomatica.Detalle = itemCartola[2];
    //                ObjCartolaAutomatica.Debe = Convert.ToDecimal(itemCartola[3]);
    //                ObjCartolaAutomatica.Haber = Convert.ToDecimal(itemCartola[4]);
    //                ObjCartolaAutomatica.Saldo = Convert.ToDecimal(itemCartola[5]);

    //                //Datos Voucher
    //                ObjCartolaAutomatica.CodigoInterno = itemCartola[6];
    //                ObjCartolaAutomatica.Rut = itemCartola[7];
    //                ObjCartolaAutomatica.Glosa = itemCartola[8];

    //                LstObjCartolaAutomatica.Add(ObjCartolaAutomatica);
    //            }

    //        }
    //    }


    //    return LstObjCartolaAutomatica;
    //}

    public static CartolaBancariaMacroModel GetCartolaById(FacturaPoliContext db, ClientesContablesModel ObjCliente, int id)
    {
        CartolaBancariaMacroModel ReturnValues = new CartolaBancariaMacroModel();

        ReturnValues = db.DBCartolaBMacro.Include("CartolaDetalle").Where(x => x.ClientesContablesModelID.ClientesContablesModelID == ObjCliente.ClientesContablesModelID).FirstOrDefault();

        return(ReturnValues);
    }
        // GET: PartialHelpers
        public ActionResult DatosClienteParaPDFPArtial()
        {
            string                 UserID     = User.Identity.GetUserId();
            FacturaPoliContext     db         = ParseExtensions.GetDatabaseContext(UserID);
            ClientesContablesModel objCliente = PerfilamientoModule.GetClienteContableSeleccionado(Session, UserID, db);

            ViewBag.ObjClienteContable = objCliente;
            return(PartialView());
        }
        public ActionResult ConciliacionBAutomatica()
        {
            string                 UserID     = User.Identity.GetUserId();
            FacturaPoliContext     db         = ParseExtensions.GetDatabaseContext(UserID);
            ClientesContablesModel objCliente = PerfilamientoModule.GetClienteContableSeleccionado(Session, UserID, db);

            ViewBag.CuentasBancarias = ConciliacionBancariaViewModel.getCtasBancarias(db, objCliente);

            return(View());
        }
Exemplo n.º 11
0
    public static bool CambiarEstadoAconciliado(FacturaPoliContext db, ClientesContablesModel ObjCliente, int Id)
    {
        bool Result = false;



        Result = true;

        return(Result);
    }
        public FileResult PlantillaExcelConciliacionManual()
        {
            string                 UserID     = User.Identity.GetUserId();
            FacturaPoliContext     db         = ParseExtensions.GetDatabaseContext(UserID);
            ClientesContablesModel objCliente = PerfilamientoModule.GetClienteContableSeleccionado(Session, UserID, db);

            string FileVirtualPath = ParseExtensions.Get_AppData_Path("PlantillaConciliacionBancaria.xlsx");

            return(File(FileVirtualPath, "application/force- download", Path.GetFileName(FileVirtualPath)));
        }
        public ActionResult DetalleCartola(int Id)
        {
            string                 UserID     = User.Identity.GetUserId();
            FacturaPoliContext     db         = ParseExtensions.GetDatabaseContext(UserID);
            ClientesContablesModel objCliente = PerfilamientoModule.GetClienteContableSeleccionado(Session, UserID, db);

            var LstDetalle = CartolaBancariaModel.ObtenerDetalleCartola(Id, db, objCliente);

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

            var ListaCartola = CartolaBancariaMacroModel.GetListaCartola(db, objCliente);

            return(View(ListaCartola));
        }
Exemplo n.º 15
0
    public override void OnResultExecuted(ResultExecutedContext filterContext)
    {
        HttpSessionStateBase Session = filterContext.HttpContext.Session;

        string NombreUsuario = filterContext.HttpContext.User.Identity.Name;
        string UserID        = filterContext.HttpContext.User.Identity.GetUserId(); //User.Identity.GetUserId();

        FacturaPoliContext     db         = ParseExtensions.GetDatabaseContext(UserID);
        QuickEmisorModel       objEmisor  = PerfilamientoModule.GetEmisorSeleccionado(Session, UserID);
        ClientesContablesModel objCliente = PerfilamientoModule.GetClienteContableSeleccionado(Session, UserID, db);

        MonitoreoModel objMonitoreo;

        if (objCliente == null)
        {
            objMonitoreo = new MonitoreoModel(db, NombreUsuario, objEmisor.RazonSocial, objEmisor.QuickEmisorModelID);
        }
        else
        {
            objMonitoreo = new MonitoreoModel(db, NombreUsuario, objEmisor.RazonSocial, objCliente.RazonSocial, objEmisor.QuickEmisorModelID, objCliente.ClientesContablesModelID);
        }

        RouteData route_data = filterContext.RouteData;

        objMonitoreo.Tiempo_de_ejecucion = (DateTime.Now - tiempo_inicio);
        objMonitoreo.Controlador         = (string)route_data.Values["controller"];
        objMonitoreo.CambiosRealizados   = ((System.Web.HttpRequestWrapper)((System.Web.Mvc.Controller)filterContext.Controller).Request).Form.ToString();
        objMonitoreo.QueryStrings        = ((System.Web.HttpRequestWrapper)((System.Web.Mvc.Controller)filterContext.Controller).Request).QueryString.ToString();

        objMonitoreo.AccionTipo     = Accion;
        objMonitoreo.AccionNombre   = (string)route_data.Values["action"];
        objMonitoreo.Hora_Ejecucion = DateTime.Now;

        db.DBMonitoreo.Add(objMonitoreo);
        db.SaveChanges();

        #region oldnotes

        /*
         * RouteData route_data = filterContext.RouteData;
         * TimeSpan duration = (DateTime.Now - tiempo_inicio);
         * string controller = (string)route_data.Values["controller"];
         *
         * string cambiosRealizados =((System.Web.HttpRequestWrapper)((System.Web.Mvc.Controller)filterContext.Controller).Request).Form.ToString();
         * string queryStrings = ((System.Web.HttpRequestWrapper)((System.Web.Mvc.Controller)filterContext.Controller).Request).QueryString.ToString();
         *
         * string[] cambiosRealizadosArray = cambiosRealizados.Split('&');
         *
         * string action = (string)route_data.Values["action"];
         *
         * DateTime hora_Ejecucion = DateTime.Now;
         */
        #endregion
    }
Exemplo n.º 16
0
    public static CuentaContableModel CuentaContableDesdeID(int CuentaContableID, ClientesContablesModel ObjCliente)
    {
        CuentaContableModel ReturnValues = new CuentaContableModel();

        if (ObjCliente != null)
        {
            ReturnValues = ObjCliente.CtaContable.SingleOrDefault(x => x.CuentaContableModelID == CuentaContableID);
        }

        return(ReturnValues);
    }
        public ActionResult PendientesAuxConfiguracion()
        {
            string                 UserID     = User.Identity.GetUserId();
            FacturaPoliContext     db         = ParseExtensions.GetDatabaseContext(UserID);
            ClientesContablesModel objCliente = PerfilamientoModule.GetClienteContableSeleccionado(Session, UserID, db);

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

            ViewBag.LstCtasAux = LstAuxConMovimiento;

            return(View());
        }
Exemplo n.º 18
0
    public static string GetNombreCentroDeCosto(int CentroDeCostoID, ClientesContablesModel objCliente)
    {
        var    ExisteCentroDeCosto = objCliente.ListCentroDeCostos.Where(x => x.CentroCostoModelID == CentroDeCostoID).Count();
        string CentroDeCostoNombre = "";

        if (ExisteCentroDeCosto > 0)
        {
            CentroDeCostoNombre = objCliente.ListCentroDeCostos.SingleOrDefault(x => x.CentroCostoModelID == CentroDeCostoID).Nombre;
        }

        return(CentroDeCostoNombre);
    }
Exemplo n.º 19
0
    public static IQueryable <AuxiliaresDetalleModel> ObtenerLibrosPrestadores(ClientesContablesModel objCliente, FacturaPoliContext db, string TipoReceptor = "", int Mes = 0, int Anio = 0, string RazonSocial = "", string Rut = "", string FechaInicio = "", string FechaFin = "", int Folio = 0)
    {
        bool     ConversionFechaInicioExitosa = false;
        DateTime dtFechaInicio             = new DateTime();
        bool     ConversionFechaFinExitosa = false;
        DateTime dtFechaFin = new DateTime();

        if (string.IsNullOrWhiteSpace(FechaInicio) == false && string.IsNullOrWhiteSpace(FechaFin) == false)
        {
            ConversionFechaInicioExitosa = DateTime.TryParseExact(FechaInicio, "dd-MM-yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out dtFechaInicio);
            ConversionFechaFinExitosa    = DateTime.TryParseExact(FechaFin, "dd-MM-yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out dtFechaFin);
        }


        IQueryable <AuxiliaresDetalleModel> TablaPrestador = (from Voucher in db.DBVoucher
                                                              join DetalleVoucher in db.DBDetalleVoucher on Voucher.VoucherModelID equals DetalleVoucher.VoucherModelID
                                                              join Auxiliares in db.DBAuxiliares on DetalleVoucher.DetalleVoucherModelID equals Auxiliares.DetalleVoucherModelID
                                                              join AuxiliaresDetalle in db.DBAuxiliaresDetalle on Auxiliares.AuxiliaresModelID equals AuxiliaresDetalle.AuxiliaresModelID

                                                              where Voucher.DadoDeBaja == false && Voucher.ClientesContablesModelID == objCliente.ClientesContablesModelID &&
                                                              Voucher.Tipo == TipoVoucher.Traspaso && AuxiliaresDetalle.Individuo2.tipoReceptor == TipoReceptor

                                                              select AuxiliaresDetalle);

        if (Mes > 0)
        {
            TablaPrestador = TablaPrestador.Where(x => x.FechaContabilizacion.Month == Mes);
        }
        if (Anio > 0)
        {
            TablaPrestador = TablaPrestador.Where(x => x.FechaContabilizacion.Year == Anio);
        }
        if (!string.IsNullOrWhiteSpace(RazonSocial))
        {
            TablaPrestador = TablaPrestador.Where(x => x.Individuo2.RazonSocial.Contains(RazonSocial));
        }
        if (!string.IsNullOrWhiteSpace(Rut))
        {
            TablaPrestador = TablaPrestador.Where(x => x.Individuo2.RUT.Contains(Rut));
        }
        if (Folio > 0)
        {
            TablaPrestador = TablaPrestador.Where(x => x.Folio == Folio);
        }
        if (ConversionFechaInicioExitosa && ConversionFechaFinExitosa)
        {
            TablaPrestador = TablaPrestador.Where(x => x.FechaContabilizacion >= dtFechaInicio && x.FechaContabilizacion <= dtFechaFin);
        }


        return(TablaPrestador);
    }
        // GET: ContabilidadConciliacionBancaria
        public ActionResult ConciliacionBancaria(FiltrosEstadoCtasCorrientes Filtros)
        {
            string                 UserID     = User.Identity.GetUserId();
            FacturaPoliContext     db         = ParseExtensions.GetDatabaseContext(UserID);
            ClientesContablesModel objCliente = PerfilamientoModule.GetClienteContableSeleccionado(Session, UserID, db);

            //Consulta cuentas contables Banco
            var lstCuentasDeBanco = ConciliacionBancariaViewModel.getCtasBancarias(db, objCliente);

            ViewBag.CuentasBancarias = lstCuentasDeBanco;

            return(View());
        }
Exemplo n.º 21
0
    public static string ObtenerNombreCuentaContable(int CuentaContableID, ClientesContablesModel ObjCliente)
    {
        string NombreCtaCont           = string.Empty;
        CuentaContableModel CuentaCont = new CuentaContableModel();

        if (ObjCliente != null)
        {
            CuentaCont = ObjCliente.CtaContable.SingleOrDefault(x => x.CuentaContableModelID == CuentaContableID);
        }

        NombreCtaCont = CuentaCont.CodInterno + "  " + CuentaCont.nombre;
        return(NombreCtaCont);
    }
        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 ResultadoConciliacion()
        {
            string                 UserID     = User.Identity.GetUserId();
            FacturaPoliContext     db         = ParseExtensions.GetDatabaseContext(UserID);
            ClientesContablesModel objCliente = PerfilamientoModule.GetClienteContableSeleccionado(Session, UserID, db);

            var lstNoInsertados = Session["ReporteNoInsertados"] as List <ObjCartolaYVouchers>;

            if (lstNoInsertados.Any())
            {
                ViewBag.NoInsertados = lstNoInsertados;
            }

            return(View());
        }
        public ActionResult EjecutarConciliacion(ComparacionConciliacionBancariaViewModel DatosConciliacion)
        {
            string                 UserID     = User.Identity.GetUserId();
            FacturaPoliContext     db         = ParseExtensions.GetDatabaseContext(UserID);
            ClientesContablesModel objCliente = PerfilamientoModule.GetClienteContableSeleccionado(Session, UserID, db);

            CuentaContableModel CuentaConsultada = ParseExtensions.ObtenerCuentaDesdeId(DatosConciliacion.IdCuentaContable, objCliente);

            var Reporte = new ReporteResultadoConciliacion();
            var DatosConciliacionActualizados = CartolaBancariaModel.ConciliarSiSePuede(DatosConciliacion, db, objCliente);
            var ActualizarTablas    = CartolaBancariaMacroModel.ActualizarEstadosConciliacion(db, objCliente, DatosConciliacionActualizados.Item2, CuentaConsultada, DatosConciliacionActualizados.Item1.IdCartola);
            var ReporteConciliacion = CartolaBancariaModel.calcularReporteConciliacionManual(DatosConciliacionActualizados.Item1.lstCartola, DatosConciliacionActualizados.Item1.lstLibroMayor);

            return(View(ReporteConciliacion));
        }
Exemplo n.º 25
0
    public static List <AuxiliaresDetalleModel> RescatarLibroCentralizacion(ClientesContablesModel objCliente, TipoCentralizacion tipoLibroCentralizacion, FacturaPoliContext db, string FechaInicio = "", string FechaFin = "", int Anio = 0, int Mes = 0)
    {
        bool     ConversionFechaInicioExitosa = false;
        DateTime dtFechaInicio             = new DateTime();
        bool     ConversionFechaFinExitosa = false;
        DateTime dtFechaFin = new DateTime();

        ConversionFechaInicioExitosa = DateTime.TryParse(FechaInicio, out dtFechaInicio);
        ConversionFechaFinExitosa    = DateTime.TryParse(FechaFin, out dtFechaFin);

        var CuentasContableCliente = db.DBCuentaContable.Where(w => w.ClientesContablesModelID == objCliente.ClientesContablesModelID && w.TipoCentralizacionAuxiliares == tipoLibroCentralizacion);
        List <VoucherModel>           LstVoucher = db.DBVoucher.Where(r => r.ClientesContablesModelID == objCliente.ClientesContablesModelID && r.DadoDeBaja == false).ToList();
        List <AuxiliaresDetalleModel> LaLista    = new List <AuxiliaresDetalleModel>();

        foreach (var voucher in LstVoucher)
        {
            List <DetalleVoucherModel> lstDetalleVoucher = voucher.ListaDetalleVoucher.Where(p => CuentasContableCliente.Any(ee => ee.CodInterno == p.ObjCuentaContable.CodInterno)).ToList();
            foreach (var detalleVoucher in lstDetalleVoucher)
            {
                List <AuxiliaresModel> lstAuxiliar = db.DBAuxiliares.Where(r => r.DetalleVoucherModelID == detalleVoucher.DetalleVoucherModelID).ToList();
                foreach (var auxiliar in lstAuxiliar)
                {
                    List <AuxiliaresDetalleModel> LstDetalleAuxiliares = db.DBAuxiliaresDetalle.Where(r => r.AuxiliaresModelID == auxiliar.AuxiliaresModelID).ToList();
                    if (Anio != 0)
                    {
                        LstDetalleAuxiliares = LstDetalleAuxiliares.Where(r => r.FechaContabilizacion.Year == Anio).ToList();
                    }
                    if (Mes != 0)
                    {
                        LstDetalleAuxiliares = LstDetalleAuxiliares.Where(r => r.FechaContabilizacion.Month == Mes).ToList();
                    }
                    if (ConversionFechaInicioExitosa)
                    {
                        LstDetalleAuxiliares = LstDetalleAuxiliares.Where(r => r.FechaContabilizacion >= dtFechaInicio).ToList();
                    }
                    if (ConversionFechaFinExitosa)
                    {
                        LstDetalleAuxiliares = LstDetalleAuxiliares.Where(r => r.FechaContabilizacion <= dtFechaFin).ToList();
                    }
                    LaLista.AddRange(LstDetalleAuxiliares);
                }
            }
        }
        return(LaLista);
    }
        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));
        }
Exemplo n.º 27
0
        // GET: Monitoreo
        public ActionResult ControlarEstadoSesion(/*bool EstaIniciando*/)
        {
            string                 UserID     = User.Identity.GetUserId();
            FacturaPoliContext     db         = ParseExtensions.GetDatabaseContext(UserID);
            ClientesContablesModel objCliente = PerfilamientoModule.GetClienteContableSeleccionado(Session, UserID, db);

            var NombreUsuario = (from usuario in db.DBUsuarios
                                 join name in db.DBMonitoreoSesion
                                 on usuario.UsuarioModelID equals name.UsuarioID
                                 select new MonitoreoSesionViewModel
            {
                Nombre = usuario.Nombre,
                EstaActivo = name.EstaActivo
            }).ToList();



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

            string tituloDocumento = string.Empty;

            if (Session["EstadoCtaCorriente"] != null)
            {
                List <EstadoCuentasCorrientesViewModel> LstCtasCorrientes = Session["EstadoCtaCorriente"] as List <EstadoCuentasCorrientesViewModel>;
                if (LstCtasCorrientes != null)
                {
                    var cachedStream = EstadoCuentasCorrientesViewModel.GetExcelCtaCorriente(LstCtasCorrientes, objCliente, true);
                    return(File(cachedStream, "application/vnd.ms-excel", "Estado Cuentas Corrientes" + Guid.NewGuid() + ".xlsx"));
                }
            }
            return(null);
        }
Exemplo n.º 29
0
    public static object LstAuxConMovimientoTwo(FacturaPoliContext db, ClientesContablesModel objCliente)
    {
        object CtasConMovimiento = new object();

        CtasConMovimiento = (from Detalle in db.DBDetalleVoucher
                             join Voucher in db.DBVoucher on Detalle.VoucherModelID equals Voucher.VoucherModelID
                             join Auxiliar in db.DBAuxiliares on Detalle.Auxiliar.AuxiliaresModelID equals Auxiliar.AuxiliaresModelID
                             where Auxiliar.objCtaContable.ClientesContablesModelID == objCliente.ClientesContablesModelID &&
                             Voucher.DadoDeBaja == false &&
                             Auxiliar.objCtaContable.TieneAuxiliar == 1
                             select new
        {
            Id = Detalle.ObjCuentaContable.CuentaContableModelID,
            CodigoInterno = Detalle.ObjCuentaContable.CodInterno,
            Nombre = Detalle.ObjCuentaContable.nombre
        }).Distinct();

        return(CtasConMovimiento);
    }
        public ActionResult getExcelEstadoCuentasCorrientes()
        {
            string                 UserID     = User.Identity.GetUserId();
            FacturaPoliContext     db         = ParseExtensions.GetDatabaseContext(UserID);
            ClientesContablesModel objCliente = PerfilamientoModule.GetClienteContableSeleccionado(Session, UserID, db);

            string tituloDocumento = string.Empty;

            if (Session["EstadoDeCuentasCorrientes"] != null && Session["TotalAcumEstadoCuentasCorrientes"] != null)
            {
                decimal SaldoAperturaGeneral = (decimal)Session["TotalAcumEstadoCuentasCorrientes"];
                List <ObjetoCtasCtesPorConciliar> LstCtasCorrientes = Session["EstadoDeCuentasCorrientes"] as List <ObjetoCtasCtesPorConciliar>;
                if (LstCtasCorrientes != null)
                {
                    var cachedStream = EstadoCuentasCorrientesViewModel.GetExcelCuentasCorrientes(LstCtasCorrientes, SaldoAperturaGeneral, objCliente, true);
                    return(File(cachedStream, "application/vnd.ms-excel", "Estado Cuentas Corrientes" + Guid.NewGuid() + ".xlsx"));
                }
            }
            return(null);
        }