public async Task <bool> Register(UserIdentity user, string password)
        {
            var resultRegister = await _userManager.CreateAsync(user, password);

            if (!resultRegister.Succeeded)
            {
                _notificator.AddRange(resultRegister.Errors.Select(x => x.Description).ToList(), Crosscuting.Enum.EnumTipoMensagem.Warning); return(false);
            }
            var resultClaim = await _userManager.AddClaimsAsync(await _userManager.FindByEmailAsync(user.Email), new List <Claim> {
                new Claim("USUARIO", user.Tipo.ToString().ToUpper())
            });

            if (resultClaim.Succeeded)
            {
                return(true);
            }
            await _userManager.DeleteAsync(await _userManager.FindByEmailAsync(user.Email));

            _notificator.AddRange(resultClaim.Errors.Select(x => x.Description).ToList(), Crosscuting.Enum.EnumTipoMensagem.Warning);
            return(false);
        }
예제 #2
0
        public bool Executar <TValidator, TObject>(TValidator validator, TObject objeto) where TValidator : AbstractValidator <TObject>
        {
            if (objeto == null)
            {
                _notificador.Add("Dados não informados.");
            }
            var validacao = validator.Validate(objeto);

            if (!validacao.IsValid)
            {
                _notificador.AddRange(validacao.Errors.Select(x => x.ErrorMessage).ToList(), EnumTipoMensagem.Warning);
            }
            return(validacao.IsValid);
        }