Exemplo n.º 1
0
        // 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));
        }
Exemplo n.º 2
0
        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"));
        }
Exemplo n.º 3
0
        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)));
        }