public AlunoViewModel AtualizarAluno(AlunoViewModel model) { BeginTransaction(); var aluno = AlunoAdapter.ToDomainModel(model); _alunoservice.AtualizarAluno(aluno); Commit(); return(model); }
public AlunoViewModel AdicionarAluno(AlunoViewModel model) { var aluno = AlunoAdapter.ToDomainModel(model); _alunoservice.AdicionarAluno(aluno); model.ValidationResult = aluno.ValidationResult; if (!aluno.ValidationResult.IsValid) { return(model); } Commit(); return(model); }
public IdentityResult AdicionarIdentidade(RegisterViewModel register) { var store = new UserStore <ApplicationUser>(new ApplicationDbContext()) { AutoSaveChanges = false }; var manager = _userManager; var user = new ApplicationUser { UserName = register.Email, Email = register.Email }; var result = manager.Create(user, register.Password); if (result.Succeeded) { var aluno = AlunoAdapter.ToDomainModel(Guid.Parse(user.Id), register); Adicionar(aluno); if (Commit()) { DomainEvent.Raise(new AlunoCadastradoEvent(aluno)); } 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); }