コード例 #1
0
        public async Task <IActionResult> NovoAluno(AlunoViewModel alunoViewModel)
        {
            if (ModelState.IsValid)
            {
                alunoViewModel.IdDaPessoa = alunoViewModel.Pessoa.IdDaPessoa;

                alunoViewModel.Role      = "Aluno";
                alunoViewModel.IdDoCurso = (int)TempData["CursoCoordenador"];
                TempData.Keep();


                var aluno = _mapper.Map <AlunoViewModel, Aluno>(alunoViewModel);

                _alunoAppService.InserirAsync(aluno);
                var user = new AppUser {
                    UserName = alunoViewModel.Pessoa.CpfDaPessoa, Email = alunoViewModel.Pessoa.EmailDaPessoa
                };
                var resultCreate = await _userManager.CreateAsync(user, alunoViewModel.Pessoa.CpfDaPessoa);

                if (resultCreate.Succeeded)
                {
                    var resultRole = await _userManager.AddToRoleAsync(user, alunoViewModel.Role);

                    if (resultRole.Succeeded)
                    {
                        return(Redirect("Alunos"));
                    }
                }
            }
            return(View(alunoViewModel));
        }