Пример #1
0
        public static Usuario ToDominioModelo(string userid, UsuarioItemViewModel register, string criadoPor)
        {
            var usuario = new Usuario(
                userid,
                register.Nome,
                register.Email,
                criadoPor);

            return(usuario);
        }
Пример #2
0
 public UsuarioController(ApplicationDbContext db)
 {
     _db           = db;
     UsuarioItemVm = new UsuarioItemViewModel()
     {
         Departamento = _db.Departamento,
         AreaTrabajo  = _db.AreaTrabajo,
         Puesto       = _db.Puesto,
         Usuario      = new Models.Usuario()
     };
 }
Пример #3
0
        public IdentityResult AdicionarIndentidade(UsuarioItemViewModel register, string userId)
        {
            using (var store = new UserStore <ApplicationUser>(new ApplicationDbContext())
            {
                AutoSaveChanges = false
            })
            {
                var manager = _userManager;

                var user = new ApplicationUser
                {
                    UserName = register.Email,
                    Email    = register.Email,
                    ativo    = true,
                    nome     = register.Nome.ToUpper()
                };
                var result = manager.Create(user, register.Password);

                if (result.Succeeded)
                {
                    var usuario = UsuarioAdaptador.ToDominioModelo(user.Id, register, userId);
                    Adicionar(usuario);

                    if (Commit())
                    {
                        DomainEvent.Raise(new UsuarioCadastradoEvento(usuario));
                    }
                    else
                    {
                        manager.Delete(user);
                        return(new IdentityResult(Notifications.ToString()));
                    }
                }
                else
                {
                    var errosBr          = new List <string>();
                    var notificationList = new List <DomainNotification>();

                    foreach (var erro in result.Errors)
                    {
                        string erroBr;
                        if (erro.Contains("Passwords must have at least one digit ('0'-'9')."))
                        {
                            erroBr = "A senha precisa ter ao menos um dígito";
                            notificationList.Add(new DomainNotification("IdentityValidation", erroBr));
                            errosBr.Add(erroBr);
                        }

                        if (erro.Contains("Passwords must have at least one non letter or digit character."))
                        {
                            erroBr = "A senha precisa ter ao menos um caractere especial (@, #, etc...)";
                            notificationList.Add(new DomainNotification("IdentityValidation", erroBr));
                            errosBr.Add(erroBr);
                        }

                        if (erro.Contains("Passwords must have at least one lowercase ('a'-'z')."))
                        {
                            erroBr = "A senha precisa ter ao menos uma letra em minúsculo";
                            notificationList.Add(new DomainNotification("IdentityValidation", erroBr));
                            errosBr.Add(erroBr);
                        }

                        if (erro.Contains("Passwords must have at least one uppercase ('A'-'Z')."))
                        {
                            erroBr = "A senha precisa ter ao menos uma letra em maiúsculo";
                            notificationList.Add(new DomainNotification("IdentityValidation", erroBr));
                            errosBr.Add(erroBr);
                        }

                        if (erro.Contains("Name " + register.Email + " is already taken"))
                        {
                            erroBr = "E-mail já registrado, esqueceu sua senha?";
                            notificationList.Add(new DomainNotification("IdentityValidation", erroBr));
                            errosBr.Add(erroBr);
                        }
                    }

                    notificationList.ForEach(DomainEvent.Raise);
                    result = new IdentityResult(errosBr);
                }

                return(result);
            }
        }