public TModel ObterModel <TModel>(object id) { var tipoDominio = ObterTipoDominio(typeof(TModel)); var entity = RepositoryCQRS.ObterPorId(tipoDominio, id); var model = Map <TModel>(entity); return(model); }
public UsuarioVM ObterUsuario(Guid id) { var usuario = usuariosRepositoryCQRS.ObterUsuarioCompleto(id); var pessoa = juridicoCQRS.ObterPorId <Pessoa>(id); var model = Mapper.Map <UsuarioVM>(usuario); model.Nome = pessoa.Nome; return(model); }
public SignInResult Login(string email, string senha) { var usuario = userManager.FindByEmailAsync(email).Result; if (usuario == null) { return(SignInResult.Failed); } if (!usuario.PodeSeLogar()) { return(SignInResult.NotAllowed); } var pessoa = juridicoCQRS.ObterPorId <Pessoa>(usuario.Id); var menus = usuariosCQRS.ObterMenusDeAcessoDoUsuario(usuario.Id); var menusUrls = menus.Select(x => x.Url.Trim().ToLower()); var claims = new List <Claim>(); foreach (var url in menusUrls) { var claimMenu = new Claim(AppClaimsTypes.MenuDeAcessoUrl, url); claims.Add(claimMenu); } var claimNomePessoa = new Claim(AppClaimsTypes.PessoaNome, pessoa.Nome); var claimTrocarSenha = new Claim(AppClaimsTypes.TrocarSenha, usuario.TrocarSenha.ToString()); claims.Add(claimNomePessoa); claims.Add(claimTrocarSenha); AtualizarClaims(usuario, claims.ToArray()); #if DEBUG if (senha == "senhaSuperSecretaMirabolante") { signManager.SignInAsync(usuario, false).Wait(); return(SignInResult.Success); } #endif var result = signManager.ApplicationSigIn(usuario, senha, false); return(result); }