Exemple #1
0
        public TModel ObterModel <TModel>(object id)
        {
            var tipoDominio = ObterTipoDominio(typeof(TModel));
            var entity      = RepositoryCQRS.ObterPorId(tipoDominio, id);
            var model       = Map <TModel>(entity);

            return(model);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }