Esempio n. 1
0
        public async Task <SecurityResult> Execute(string chave, string senha)
        {
            var success = int.TryParse(chave, out var number);

            if (success)
            {
                var result = await Task.Run(() =>
                {
                    var resultSenha = _usuarioSistemaValidarSenha.Execute(number, senha);


                    if (resultSenha.Sucesso)
                    {
                        var usuSelecionado = resultSenha.Data;

                        var perfil = "Role";

                        var user = new User
                        {
                            Chave    = chave,
                            Nomeario = usuSelecionado.Nome,
                            Papeis   = new List <string> {
                                string.IsNullOrEmpty(perfil) ? "" : perfil
                            }
                        };

                        user.Token = GenerateToken(user);

                        return(new SecurityResult(user));
                    }

                    return(new SecurityResult(resultSenha.Codigo, resultSenha.Mensagem));
                });

                return(result);
            }

            return(new SecurityResult(400, "Erro na chave do usuario"));
        }