public static Usuario ToDominioModelo(string userid, UsuarioItemViewModel register, string criadoPor) { var usuario = new Usuario( userid, register.Nome, register.Email, criadoPor); return(usuario); }
public UsuarioController(ApplicationDbContext db) { _db = db; UsuarioItemVm = new UsuarioItemViewModel() { Departamento = _db.Departamento, AreaTrabajo = _db.AreaTrabajo, Puesto = _db.Puesto, Usuario = new Models.Usuario() }; }
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); } }