示例#1
0
        /// <summary>
        /// OBTIENE UN USUARIO CON SUS RELACIONES, DEPENDIENDO SI DESEA UTILIZARLAS O NO.
        /// </summary>
        /// <param name="incluir"></param>
        /// <param name="lstUsuarios"></param>
        /// <returns>LISTA DE USUARIOS MAPEADOS CON DTO</returns>
        private async Task <UsuariosDTO> ObtenerUsuariosRelaciones(
            UsuariosEntidad usuario,
            IncluirUsuariosDTO incluir = null)
        {
            Guid        UsuarioActual = Guid.Empty;
            UsuariosDTO usuarioDTO    = new UsuariosDTO();

            if (usuario != null)
            {
                usuarioDTO = new UsuariosDTO
                {
                    Id            = usuario.Id,
                    Usuario       = usuario.UserName,
                    Email         = usuario.Email,
                    FechaCreacion = usuario.FechaCreacion,
                    Estatus       = usuario.Estatus,
                    Roles         = new List <RolesDTO>(),
                };

                if (incluir.Role)
                {
                    usuarioDTO.Roles = await ObtenerRolesUsuarioAsync(usuario);
                }
            }

            return(usuarioDTO);
        }
示例#2
0
        //LOGICA DE NEGOCIOS

        /// <summary>
        /// OBTIENE UN USUARIO CON SUS RELACIONES, DEPENDIENDO SI DESEA UTILIZARLAS O NO.
        /// </summary>
        /// <param name="incluir"></param>
        /// <param name="lstUsuarios"></param>
        /// <returns>LISTA DE USUARIOS MAPEADOS CON DTO</returns>
        private async Task <List <UsuariosDTO> > ObtenerUsuariosRelaciones(
            IQueryable <UsuariosEntidad> lstUsuarios,
            IncluirUsuariosDTO incluir = null)
        {
            Guid UsuarioActual = Guid.Empty;
            List <UsuariosDTO> lstUsuariosDTO = new List <UsuariosDTO>();

            if (lstUsuarios != null)
            {
                foreach (var usuario in lstUsuarios)
                {
                    var usuarioDTO = new UsuariosDTO
                    {
                        Id            = usuario.Id,
                        Usuario       = usuario.UserName,
                        Email         = usuario.Email,
                        FechaCreacion = usuario.FechaCreacion,
                        Estatus       = usuario.Estatus
                    };

                    if (incluir.Role)
                    {
                        usuarioDTO.Roles = await ObtenerRolesUsuarioAsync(usuario);
                    }

                    lstUsuariosDTO.Add(usuarioDTO);
                }
            }

            return(lstUsuariosDTO);
        }
        public async Task <IActionResult> ObtenerUsuariosAsync([FromQuery] IncluirUsuariosDTO incluir,
                                                               [FromQuery] FiltroPagina filtro = null)
        {
            var lstUsuarios = await _usuariosServicios.ObtenerUsuariosAsync(incluir, filtro);

            if (lstUsuarios == null)
            {
                return(NoContent());
            }

            return(Ok(lstUsuarios));
        }
        public async Task <IActionResult> ObtenerUsuarioIdAsync(Guid id, [FromQuery] IncluirUsuariosDTO incluir)
        {
            var usuario = await _usuariosServicios.ObtenerUsuarioIdAsync(id);

            if (usuario == null)
            {
                return(NotFound("Usuario no encontrado"));
            }

            var usuarioDTO = await _usuariosServicios.ObtenerUsuarioIdRelacionesAsync(id, incluir);

            return(Ok(usuarioDTO));
        }
示例#5
0
        ////////////////////////////// USUARIOS ///////////////////////////////////

        /// <summary>
        /// LISTA DE USUARIOS CON CONDICIONES PARA PAGINAR, INCLUIR RELACIONES.
        /// </summary>
        /// <param name="incluir"></param>
        /// <param name="filtro"></param>
        /// <returns></returns>
        public async Task <List <UsuariosDTO> > ObtenerUsuariosAsync(IncluirUsuariosDTO incluir, FiltroPagina filtro)
        {
            var lstUsuarios = _usuariosRepositorio.ObtenerUsuariosAsync();

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

            if (filtro != null)
            {
                var pagina = (filtro.Pagina - 1) * filtro.Limite;
                var limite = filtro.Limite;

                lstUsuarios = lstUsuarios
                              .Skip(pagina)
                              .Take(limite);
            }

            return(await ObtenerUsuariosRelaciones(lstUsuarios, incluir));
        }
示例#6
0
        public async Task <UsuariosDTO> ObtenerUsuarioIdRelacionesAsync(Guid idUsuario, IncluirUsuariosDTO incluir)
        {
            var lstUsuarios = _usuariosRepositorio.ObtenerUsuariosAsync();

            if (incluir.Role)
            {
                lstUsuarios = lstUsuarios.Include(x => x.UsuariosRoles);
            }

            var usuarioEntidad = lstUsuarios.FirstOrDefault(x => x.Id == idUsuario);

            if (usuarioEntidad == null)
            {
                return(new UsuariosDTO());
            }

            return(await ObtenerUsuariosRelaciones(usuarioEntidad, incluir));
        }