public async Task <ActionResult <UsuarioDisciplina> > PostUsuarioDisciplina(UsuarioDisciplinaCreateAndUpdateViewModel usuarioDisciplinaViewModel) { try { UsuarioDisciplina usuarioDisciplina = _mapper.Map <UsuarioDisciplina>(usuarioDisciplinaViewModel); _context.UsuarioDisciplina.Add(usuarioDisciplina); await _context.SaveChangesAsync(); usuarioDisciplina.UsuarioCpfNavigation = await _context.Usuario.Where(usr => usr.Cpf == usuarioDisciplina.UsuarioCpf).FirstOrDefaultAsync(); return(CreatedAtAction("GetUsuarioDisciplina", new { email = usuarioDisciplina.UsuarioCpfNavigation.Email }, usuarioDisciplina)); } catch (DbUpdateException) { if (UsuarioDisciplinaExists(usuarioDisciplinaViewModel.UsuarioCpf, usuarioDisciplinaViewModel.DisciplinaIdDisciplina)) { return(Conflict(new { msg = "O usuário informado já existe na disciplina" })); } else if (!CpfOrDisciplinaNotExists(usuarioDisciplinaViewModel.UsuarioCpf, usuarioDisciplinaViewModel.DisciplinaIdDisciplina)) { return(BadRequest(new { msg = "O usuário ou disciplina informada não existe" })); } else { throw; } } }
public async Task<dynamic> PostInserirAluno([FromBody] UsuarioDisciplinaCreateAndUpdateViewModel model) { UsuarioDisciplina usuarioDisciplina = _mapper.Map<UsuarioDisciplina>(model); _context.UsuarioDisciplina.Add(usuarioDisciplina); try { await _context.SaveChangesAsync(); } catch (DbUpdateException) { if (!DisciplinaExists(usuarioDisciplina.DisciplinaIdDisciplina)) { return NotFound(new { msg = "Não foi possível encontrar a disciplina" }); } else { throw; } } CreatedAtAction("GetDisciplina", new { id = usuarioDisciplina.IdUsuarioDisciplina }, usuarioDisciplina); return StatusCode(200, new { msg = $"Cpf {usuarioDisciplina.UsuarioCpf} cadastrado com sucesso" }); }