Ejemplo n.º 1
0
        public AlunoViewModel AtualizarAluno(AlunoViewModel model)
        {
            BeginTransaction();
            var aluno = AlunoAdapter.ToDomainModel(model);

            _alunoservice.AtualizarAluno(aluno);
            Commit();
            return(model);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }