public async Task <ICollection <UserProfileOutput> > ExecuteList(bool soloAdmin) { var adminUsers = await _rolesUsuarioReadOnlyRepository.GetAdminUsers(); var funcionarios = await _funcionarioUsuarioReadOnlyRepository.GetAll(); var outputResult = new List <UserProfileOutput>(); if (funcionarios == null) { return(outputResult); } if (soloAdmin) { funcionarios = funcionarios.Where(c => adminUsers.Contains(c.NombreUsuario)).ToList(); } foreach (var funcionario in funcionarios) { var roles = new List <string>(); roles.Add("Usuario"); if (adminUsers.Contains(funcionario.NombreUsuario)) { roles.Add("Administrador"); } outputResult.Add(UserProfileOutput.LoadRoles(funcionario.NombreUsuario, funcionario.FuncionarioID, funcionario.NombreCompleto.ToString(), funcionario.EstadoID, funcionario.Estado, funcionario.Email, roles)); } return(outputResult); }
public UserProfileOutput Execute(string adAccount) { var adUser = AdAccount.For(adAccount); var roles = Task.Run(async() => { return(await _rolesUsuarioReadOnlyRepository.Get(adUser.Name)); }); var funcionario = Task.Run(async() => { return(await _funcionarioUsuarioReadOnlyRepository.Get(adUser.Name)); }); if (funcionario.Result == null) { return(null); } return(UserProfileOutput.LoadRoles(adUser.Name, funcionario.Result.FuncionarioID, funcionario.Result.NombreCompleto.ToString(), funcionario.Result.EstadoID, funcionario.Result.Estado, funcionario.Result.Email, roles.Result)); }
public UserAccountAuthentication() { Claims = new List <Claim>(); Profile = new UserProfileOutput(); }