コード例 #1
0
        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);
        }
コード例 #2
0
        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));
        }
コード例 #3
0
 public UserAccountAuthentication()
 {
     Claims  = new List <Claim>();
     Profile = new UserProfileOutput();
 }