Пример #1
0
        public PersonaConPerfiles Consultar(int idPersona, string nombreUsuario)
        {
            var personaConPerfiles = new PersonaConPerfiles();

            var persona = repositorio.ConsultarPorId <Persona>(idPersona);

            if (persona.Id != 0)
            {
                personaConPerfiles.PopulateWith(persona);

                var usuarioPerfilIds = repositorio
                                       .Consultar <UsuarioPerfil>(q => q.NombreUsuario == nombreUsuario)
                                       .Select(x => x.PerfilId).ToList();

                personaConPerfiles.Perfiles = repositorio
                                              .Consultar <Perfil>(q => usuarioPerfilIds.Contains(q.Id));

                var personaRegionalIds = repositorio
                                         .Consultar <PersonaRegional>(q => q.PersonaId == idPersona)
                                         .Select(x => x.RegionalId)
                                         .ToList();

                personaConPerfiles.Regionales = repositorio.Consultar <Regional>(
                    q => personaRegionalIds.Contains(q.Id) ||
                    q.Id == persona.RegionalId
                    );
            }

            return(personaConPerfiles);
        }
        static Func <PlantillaEncuesta> GetPlantillaEncuesta(int entidadId, IConsultaEntidad <PlantillaEncuesta> repo)
        {
            PlantillaEncuesta entidadAlmacenada = null;

            Func <PlantillaEncuesta> func = () =>
            {
                if (entidadAlmacenada == null)
                {
                    entidadAlmacenada = repo.ConsultarPorId(entidadId);
                }
                return(entidadAlmacenada);
            };

            return(func);
        }
Пример #3
0
        public Func <TEntidad> GetEntityById(int entidadId)
        {
            TEntidad entidadAlmacenada = default(TEntidad);

            Func <TEntidad> func = () =>
            {
                if (entidadAlmacenada == null)
                {
                    entidadAlmacenada = repositorio.ConsultarPorId(entidadId);
                }
                return(entidadAlmacenada);
            };

            return(func);
        }