예제 #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;
        }
    }
예제 #2
0
        public JsonResult obtenerFuncionesAdminFunciones(int dataContext, int SelectedUser, int SelectedEmisor)
        {
            StringBuilder optionSelect = new StringBuilder();

            if (SelectedUser <= 0 || SelectedEmisor <= 0)
            {
                return(Json(new { ok = true, selectInput = optionSelect }, JsonRequestBehavior.AllowGet));
            }
            FacturaPoliContext db = null;

            if (dataContext == 1) //Certificacion
            {
                db = new FacturaPoliContext();
            }
            else if (dataContext == 2) //Produccion
            {
                db = new FacturaPoliContext(true);
            }
            else //No determinado, no nos interesa
            {
                return(Json(new { ok = true, selectInput = optionSelect }, JsonRequestBehavior.AllowGet));
            }

            UsuarioModel objUser = db.DBUsuarios.SingleOrDefault(r => r.UsuarioModelID == SelectedUser);

            if (objUser == null)
            {
                return(Json(new { ok = true, selectInput = optionSelect }, JsonRequestBehavior.AllowGet));
            }

            QuickEmisorModel objEmisor = db.Emisores.SingleOrDefault(r => r.QuickEmisorModelID == SelectedEmisor);

            if (objEmisor == null)
            {
                return(Json(new { ok = true, selectInput = optionSelect }, JsonRequestBehavior.AllowGet));
            }

            List <FuncionesModel>     lstFuncionesSistema   = db.DBFunciones.OrderBy(r => r.NombreModulo).ThenBy(r => r.NombreFuncion).ToList();
            List <ModulosHabilitados> lstModulosHabilitados = db.DBModulosHabilitados.Where
                                                                  (r => r.UsuarioModelID == objUser.UsuarioModelID &&
                                                                  r.QuickEmisorModelID == objEmisor.QuickEmisorModelID)
                                                              .ToList();

            foreach (FuncionesModel Funcion in lstFuncionesSistema)
            {
                if (lstModulosHabilitados.Any(r => r.Funcion.FuncionesModelID == Funcion.FuncionesModelID))
                {
                    optionSelect.Append("<option selected value=\"" + Funcion.FuncionesModelID + "\">" + Funcion.NombreModulo + " - " + Funcion.NombreFuncion + "</option>"); //+ " (" + EmisorDisabled.RUTEmpresa + ")
                }
                else
                {
                    optionSelect.Append("<option value=\"" + Funcion.FuncionesModelID + "\">" + Funcion.NombreModulo + " - " + Funcion.NombreFuncion + "</option>"); //+ " (" + EmisorDisabled.RUTEmpresa + ")
                }
            }
            return(Json(new
            {
                ok = true,
                selectInput = optionSelect.ToString()
            }, JsonRequestBehavior.AllowGet));
        }
예제 #3
0
    public static bool FuncionAnyContabilidad(HttpContext context)
    {
        //List<string> lstFuncionesUsuario;

        string UserID = context.User.Identity.GetUserId();
        HttpSessionStateBase Session = new HttpSessionStateWrapper(context.Session);

        FacturaPoliContext db = ParseExtensions.GetDatabaseContext(UserID);

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

        if (objUsuario == null)
        {
            return(false);
        }

        QuickEmisorModel objEmisor = ModuloHelper.GetEmisorSeleccionado(Session, UserID);

        if (objEmisor == null)
        {
            return(false);
        }

        bool hasFuncionesContablesInModulosHabilitados = db.DBModulosHabilitados
                                                         .Where(
            r => r.UsuarioModelID == objUsuario.UsuarioModelID &&
            r.QuickEmisorModelID == objEmisor.QuickEmisorModelID
            ).Any
                                                             (r => r.Funcion.ModuloSistema.ModuloSistemaModelID == ParseExtensions.KeyModuloSistemaContable);

        return(hasFuncionesContablesInModulosHabilitados);
    }
예제 #4
0
    public static QuickEmisorModel GetEmisorSeleccionado(HttpSessionStateBase objSession, string userID, FacturaPoliContext db = null)
    {
        if (db == null)
        {
            db = ParseExtensions.GetDatabaseContext(userID);
        }

        bool Esta_En_Certificacion = ParseExtensions.ItsUserOnCertificationEnvironment(userID);
        //CERTIFICACION
        int IDEmisor = -1;

        if (Esta_En_Certificacion)
        {
            if (objSession["EmisorSeleccionado_CERT"] == null)
            {
                return(null);
            }
            IDEmisor = (int)objSession["EmisorSeleccionado_CERT"];
        }
        //PRODUCCION
        else
        {
            if (objSession["EmisorSeleccionado"] == null)
            {
                return(null);
            }
            IDEmisor = (int)objSession["EmisorSeleccionado"];
        }
        QuickEmisorModel returnValue = null;

        ModuloHelper.GetEmisorHabilitado(userID, IDEmisor, out returnValue, db);
        return(returnValue);
    }
예제 #5
0
    public static bool GetEmisoresHabilitados(string userID, out List <QuickEmisorModel> objEmisores, FacturaPoliContext db = null)
    {
        if (db == null)
        {
            db = ParseExtensions.GetDatabaseContext(userID);
        }

        UsuarioModel objUser = db.DBUsuarios.SingleOrDefault(r => r.IdentityID == userID);

        List <int> lstIDEmpresasHabilitadas = db.DBModulosHabilitados
                                              .Where(r => r.UsuarioModelID == objUser.UsuarioModelID)
                                              .Select(w => w.QuickEmisorModelID).Distinct().ToList();

        List <QuickEmisorModel> lstEmisoresHabilitados = new List <QuickEmisorModel>();

        foreach (int IDEmpresa in lstIDEmpresasHabilitadas)
        {
            QuickEmisorModel objEmpresa = db.Emisores.Include("Certificados").SingleOrDefault(R => R.QuickEmisorModelID == IDEmpresa);
            lstEmisoresHabilitados.Add(objEmpresa);
        }
        objEmisores = lstEmisoresHabilitados;
        if (objEmisores == null || objEmisores.Count() == 0)
        {
            return(false);
        }
        return(true);
    }
예제 #6
0
    public static bool GetEmisorProduccion(string userID, int IDEmisor, out QuickEmisorModel objEmisor)
    {
        //Este constructor hace referencia puntual a la base de datos de PRODUCCION
        FacturaPoliContext db = new FacturaPoliContext(true);

        EmisoresHabilitados objEmisorHabilitado;

        if (GetEmisorHabilitado(userID, IDEmisor, out objEmisorHabilitado, db))
        {
            objEmisor = db.Emisores.Include("Certificados").SingleOrDefault(r => r.QuickEmisorModelID == objEmisorHabilitado.QuickEmisorModelID);
            if (objEmisor == null)
            {
                return(false);
            }
            else
            {
                return(true);
            }
        }
        else
        {
            objEmisor = null;
            return(false);
        }
    }
예제 #7
0
    public static bool GetEmisor(string userID, int IDEmisor, out QuickEmisorModel objEmisor, FacturaPoliContext db = null)
    {
        if (db == null)
        {
            db = ParseExtensions.GetDatabaseContext(userID);
        }

        EmisoresHabilitados objEmisorHabilitado;

        if (GetEmisorHabilitado(userID, IDEmisor, out objEmisorHabilitado, db))
        {
            objEmisor = db.Emisores.Include("Certificados").SingleOrDefault(r => r.QuickEmisorModelID == objEmisorHabilitado.QuickEmisorModelID);
            if (objEmisor == null)
            {
                return(false);
            }
            else
            {
                return(true);
            }
        }
        else
        {
            objEmisor = null;
            return(false);
        }
    }
예제 #8
0
        public ActionResult AdminFuncionesUpdate(int ambiente, int usuario, int empresa, int[] funciones)
        {
            if (ambiente <= 0 || usuario <= 0 || empresa <= 0)
            {
                return(null);
            }
            FacturaPoliContext db = null;

            if (ambiente == 1) //Certificacion
            {
                db = new FacturaPoliContext();
            }
            else if (ambiente == 2) //Produccion
            {
                db = new FacturaPoliContext(true);
            }
            else
            {
                return(null);
            }

            UsuarioModel objUser = db.DBUsuarios.SingleOrDefault(r => r.UsuarioModelID == usuario);

            if (objUser == null)
            {
                return(null);
            }
            QuickEmisorModel objEmisor = db.Emisores.SingleOrDefault(r => r.QuickEmisorModelID == empresa);

            if (objEmisor == null)
            {
                return(null);
            }

            var lstModulosHabilitados = db.DBModulosHabilitados.Where
                                            (r => r.UsuarioModelID == objUser.UsuarioModelID &&
                                            r.QuickEmisorModelID == objEmisor.QuickEmisorModelID);

            //Borra todos los privilegios de este usuario para asi luego crearlos nuevamente
            db.DBModulosHabilitados.RemoveRange(lstModulosHabilitados);
            db.SaveChanges();

            var lstFunciones = db.DBFunciones.ToList();

            List <ModulosHabilitados> lstModulosHabilitadosNew = new List <ModulosHabilitados>();

            if (funciones != null)
            {
                foreach (int funcion in funciones)
                {
                    FuncionesModel modelFuncion = lstFunciones.SingleOrDefault(r => r.FuncionesModelID == funcion);
                    lstModulosHabilitadosNew.Add(new ModulosHabilitados(objUser.UsuarioModelID, objEmisor.QuickEmisorModelID, modelFuncion));
                }
                db.DBModulosHabilitados.AddRange(lstModulosHabilitadosNew);
                db.SaveChanges();
            }
            return(RedirectToAction("AdminFunciones", "FMSend"));
        }
예제 #9
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
    }
예제 #10
0
    public static QuickReceptorModel GetReceptorByIDandEmisor(string UserID, QuickEmisorModel _emisor, int IDReceptor)
    {
        QuickReceptorModel objReceptor = null;
        FacturaPoliContext db          = ParseExtensions.GetDatabaseContext(UserID);
        IQueryable <QuickReceptorModel> objQueryable = db.Receptores.Where(r => r.QuickEmisorModelID == _emisor.QuickEmisorModelID);

        //List<QuickReceptorModel> lstReceptarTryTest = objQueryable.Where(r => r.QuickReceptorModelID == IDReceptor).ToList();

        objReceptor = objQueryable.SingleOrDefault(r => r.QuickReceptorModelID == IDReceptor);

        return(objReceptor);
    }
예제 #11
0
    public override void OnAuthorization(AuthorizationContext filterContext)
    {
        //Obtiene el privilegio minimo requerido del parametro expuesto al interno
        PrivilegioMin = PrivilegioMinimoRequerido;

        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;
        }

        QuickEmisorModel objEmisor = PerfilamientoModule.GetEmisorSeleccionado(Session, UserID);

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

        //Revisar su tabla de compañias autorizadas
        EmisoresHabilitados objEmisorHabilitado = db.DBEmisoresHabilitados.SingleOrDefault(r => r.QuickEmisorModelID == objEmisor.QuickEmisorModelID && r.UsuarioModelID == objUsuario.UsuarioModelID);

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

        Privilegios PrivilegioDelUsuario = objEmisorHabilitado.privilegiosAcceso;
        bool        EstaAutorizado       = ManejarPrivilegios(PrivilegioMin, PrivilegioDelUsuario);

        if (EstaAutorizado == false)
        {
            /*REDIRECT A EL PANEL DE SELECCION DE EMISOR*/
            filterContext.Result = RetornarSeleccionEmisor();
            return;
        }
    }
예제 #12
0
    public static bool GetEmisorHabilitado(string userID, int IDEmisor, out QuickEmisorModel objEmisorHabilitado, FacturaPoliContext db)
    {
        if (db == null)
        {
            db = ParseExtensions.GetDatabaseContext(userID);
        }

        List <QuickEmisorModel> emisoresHabilitados = null;

        if (GetEmisoresHabilitados(userID, out emisoresHabilitados, db))
        {
            objEmisorHabilitado = emisoresHabilitados.SingleOrDefault(r => r.QuickEmisorModelID == IDEmisor);
            if (objEmisorHabilitado != null)
            {
                return(true);
            }
        }
        objEmisorHabilitado = null;
        return(false);
    }
예제 #13
0
    public static bool FuncionRequerida(HttpContext context, string ComponenteRequerido)
    {
        List <string> lstFuncionesUsuario;
        //if (context.Session["listaFuncionesAccesibles"] == null)
        //{
        string UserID = context.User.Identity.GetUserId();
        HttpSessionStateBase Session = new HttpSessionStateWrapper(context.Session);

        FacturaPoliContext db = ParseExtensions.GetDatabaseContext(UserID);

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

        if (objUsuario == null)
        {
            return(false);
        }

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

        if (objEmisor == null)
        {
            return(false);
        }
        lstFuncionesUsuario = db.DBModulosHabilitados
                              .Where(r => r.UsuarioModelID == objUsuario.UsuarioModelID && r.QuickEmisorModelID == objEmisor.QuickEmisorModelID)
                              .Select(w => w.Funcion.NombreFuncion).ToList();

        //        context.Session["listaFuncionesAccesibles"] = lstFuncionesUsuario;
        //      }
        //lstFuncionesUsuario = (List<string>)context.Session["listaFuncionesAccesibles"];
        if (lstFuncionesUsuario != null && lstFuncionesUsuario.Contains(ComponenteRequerido, StringComparer.OrdinalIgnoreCase))
        {
            return(true);
        }
        else
        {
            return(false);
        }
    }
예제 #14
0
    public static ClientesContablesModel GetClienteContableSeleccionado(HttpSessionStateBase objSession, string userID, FacturaPoliContext db = null)
    {
        ClientesContablesModel returnValue = null;

        if (db == null)
        {
            db = ParseExtensions.GetDatabaseContext(userID);
        }

        QuickEmisorModel objEmisor = GetEmisorSeleccionado(objSession, userID, db);

        if (objEmisor == null)
        {
            return(returnValue);
        }

        bool Esta_En_Certificacion = ParseExtensions.ItsUserOnCertificationEnvironment(userID);
        //CERTIFICACION
        int IDClienteContable = 0;

        if (Esta_En_Certificacion)
        {
            if (objSession["ClienteContableSeleccionado_CERT"] == null)
            {
                return(null);
            }
            IDClienteContable = (int)objSession["ClienteContableSeleccionado_CERT"];
        }
        //PRODUCCION
        else
        {
            if (objSession["ClienteContableSeleccionado"] == null)
            {
                return(null);
            }
            IDClienteContable = (int)objSession["ClienteContableSeleccionado"];
        }
        returnValue = objEmisor.lstClientesCompania.SingleOrDefault(r => r.ClientesContablesModelID == IDClienteContable);
        return(returnValue);
    }
    public static List <LibroHonorariosDeTerceros> ProcesarLibroHonorariosTerceros(FacturaPoliContext db, ClientesContablesModel ObjCliente, QuickEmisorModel EstaEmpresa, List <string[]> BoletasNoProcesadas, string FechaContabilizacion)
    {
        BoletasNoProcesadas.RemoveRange(0, 8);
        int NumeroFinal = BoletasNoProcesadas.Count();                      //Arreglo para simular los elementos de un array partiendo del 0
        int IndexElementosNoDeseados     = BoletasNoProcesadas.Count() - 3; //Arreglo para simular los elementos de un array partiendo del 0
        int CantidadDeElementosAeliminar = NumeroFinal - IndexElementosNoDeseados;

        BoletasNoProcesadas.RemoveRange(IndexElementosNoDeseados, CantidadDeElementosAeliminar);

        List <LibroHonorariosDeTerceros> ListaARetornar = new List <LibroHonorariosDeTerceros>();

        string TipoReceptor = "H";
        List <LibroHonorariosDeTerceros> SinRepetidos = new List <LibroHonorariosDeTerceros>();

        foreach (string[] ColumnaBoleta in BoletasNoProcesadas)
        {
            LibroHonorariosDeTerceros VerificadorLibroHonorTercero = new LibroHonorariosDeTerceros();

            DateTime FechaConta      = ParseExtensions.ToDD_MM_AAAA_Multi(FechaContabilizacion);
            DateTime FechaInicial    = ParseExtensions.ToDD_MM_AAAA_Multi(ColumnaBoleta[2]);
            DateTime FechaFinal      = ParseExtensions.ToDD_MM_AAAA_Multi(ColumnaBoleta[5]);
            int      Folio           = Convert.ToInt32(ColumnaBoleta[0]);
            string   Estado          = ColumnaBoleta[1].Trim();
            string   RutPrestador    = ColumnaBoleta[6].Trim();
            string   NombrePrestador = ColumnaBoleta[7].Trim();
            decimal  Bruto           = Convert.ToDecimal(ColumnaBoleta[8].Replace(".", ""));
            decimal  Retenido        = Convert.ToDecimal(ColumnaBoleta[9].Replace(".", ""));
            decimal  Pagado          = Convert.ToDecimal(ColumnaBoleta[10].Replace(".", ""));

            SinRepetidos = db.DBLibroHonorariosTerceros.Where(x => x.ClienteContable.ClientesContablesModelID == ObjCliente.ClientesContablesModelID &&
                                                              x.NumOFolio == Folio &&
                                                              x.Receptor.RUT == RutPrestador &&
                                                              x.HaSidoConvertidoAVoucher == true &&
                                                              x.TipoLibro == TipoCentralizacion.Honorarios).ToList();

            List <VoucherModel> EstaVigenteEncontrado = new List <VoucherModel>();
            VoucherModel        VoucherEncontrado     = new VoucherModel();

            if (SinRepetidos != null || SinRepetidos.Count() > 0)
            {
                foreach (var ItemRepetido in SinRepetidos)
                {
                    VoucherEncontrado = db.DBVoucher.SingleOrDefault(x => x.VoucherModelID == ItemRepetido.VoucherModel.VoucherModelID);

                    if (VoucherEncontrado.DadoDeBaja == false)
                    {
                        EstaVigenteEncontrado.Add(VoucherEncontrado);
                    }
                }
            }

            if (SinRepetidos.Count() > 0 && SinRepetidos != null && EstaVigenteEncontrado.Count() > 0)
            {
                continue;
            }

            if (Estado == "VIGENTE")
            {
                VerificadorLibroHonorTercero.FechaContabilizacion = FechaConta;
                VerificadorLibroHonorTercero.Estado          = Estado;
                VerificadorLibroHonorTercero.ClienteContable = ObjCliente;
                VerificadorLibroHonorTercero.NumOFolio       = Folio;
                VerificadorLibroHonorTercero.FechaInicial    = FechaInicial;
                VerificadorLibroHonorTercero.RutEmpresa      = EstaEmpresa.RUTEmpresa;
                VerificadorLibroHonorTercero.NombreEmpresa   = EstaEmpresa.RazonSocial;
                VerificadorLibroHonorTercero.FechaFinal      = FechaFinal;
                VerificadorLibroHonorTercero.RutReceptor     = RutPrestador;
                VerificadorLibroHonorTercero.NombreReceptor  = NombrePrestador;
                VerificadorLibroHonorTercero.Brutos          = Bruto;
                VerificadorLibroHonorTercero.Retenidos       = Retenido;
                VerificadorLibroHonorTercero.Pagado          = Pagado;

                QuickReceptorModel objPrestador = QuickReceptorModel.CrearOActualizarPrestadorPorRut(VerificadorLibroHonorTercero.RutReceptor, VerificadorLibroHonorTercero.NombreReceptor, ObjCliente, db, TipoReceptor);
                VerificadorLibroHonorTercero.Receptor = objPrestador;

                ListaARetornar.Add(VerificadorLibroHonorTercero);
            }
        }
        if (ListaARetornar.Count() > 0 && SinRepetidos.Count() == 0)
        {
            db.DBLibroHonorariosTerceros.AddRange(ListaARetornar);
            db.SaveChanges();
        }

        return(ListaARetornar);
    }