// POST api/<controller> public IHttpActionResult Post([FromBody] ProfessorDto form) { if (ModelState.IsValid) { try { var professor = Mapper.Map <ProfessorDto, Professor>(form); _professorService.Add(professor); var professorDto = GetProfessorDto(professor); return(Created(new Uri(professorDto.Url), professorDto)); } catch (PreexistingEntityException pe) { ModelState.AddModelError("", pe.Message); } catch (ArgumentNullException ane) { ModelState.AddModelError("", ane.Message); } } return(BadRequest(ModelState)); }
public async Task <IActionResult> RegisterPost([FromForm] UsuarioDTO registerModel) { if (ModelState.IsValid) { Usuario user = new Usuario { UserName = registerModel.UserName, Email = registerModel.Email, RoleName = registerModel.RoleName }; var result = await _userManager.CreateAsync(user, registerModel.Password); if (result.Succeeded) { bool roleExists = await _roleManager.RoleExistsAsync(registerModel.RoleName); if (!roleExists) { await _roleManager.CreateAsync(new IdentityRole(registerModel.RoleName)); } if (!await _userManager.IsInRoleAsync(user, registerModel.RoleName)) { await _userManager.AddToRoleAsync(user, registerModel.RoleName); } var resultSignIn = await _signInManager.PasswordSignInAsync(registerModel.UserName, registerModel.Password, false, false); if (resultSignIn.Succeeded) { var usuario = await _userManager.FindByNameAsync(registerModel.UserName); if (usuario.RoleName.Equals("Aluno")) { var dto = new EstudanteDTO(); dto.EstudanteSessao = usuario.Id; dto.Nome = usuario.UserName; _alunoService.Add(dto); } if (usuario.RoleName.Equals("Professor")) { var dto = new ProfessorDTO(); dto.ProfessorSessao = usuario.Id; _professorService.Add(dto); return(RedirectToAction("Index", "Home", new { id = dto.ProfessorSessao })); } } } } return(RedirectToAction("Index", "Login")); }
public async Task <IActionResult> Create(ProfessorViewModel professorViewModel) { if (!ModelState.IsValid) { return(View(professorViewModel)); } await _professorService.Add(_mapper.Map <Professor>(professorViewModel)); if (!OperacaoValida()) { return(View(professorViewModel)); } return(RedirectToAction(nameof(Index))); }