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