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