예제 #1
0
        private void CreateTestData(ref PucTccContext context)
        {
            var curso = new Curso()
            {
                Id   = 1,
                Nome = "Curso"
            };
            var turma = new Turma()
            {
                Id      = 10,
                Nome    = "Curso.Turma1",
                IdCurso = curso.Id,
                Curso   = curso,
                Vagas   = 2,
            };

            for (int i = 0; i < 3; i++)
            {
                context.Alunos.Add(new Aluno()
                {
                    Id      = 100 + i,
                    Nome    = "Aluno" + i,
                    IdCurso = curso.Id,
                    Curso   = curso
                });
            }

            context.Cursos.Add(curso);
            context.Turmas.Add(turma);
            context.SaveChanges();
        }
예제 #2
0
        public ActionResult <AlunoTurma> MatricularAluno(long id, [FromBody] long idAluno)
        {
            var turma = _context.Turmas.FirstOrDefault(f => f.Id == id);

            if (turma.Vagas < 1)
            {
                throw new ApplicationException("Turma sem vagas!");
            }

            var turmasAluno = _context.AlunosTurmas.Where(w => w.IdAluno == idAluno && w.IdTurma == id);

            if (turmasAluno.Any())
            {
                throw new ApplicationException("Aluno já matriculado na turma!");
            }

            turma.Vagas--;
            var matricula = new AlunoTurma()
            {
                IdAluno = idAluno,
                IdTurma = id
            };

            _context.AlunosTurmas.Add(matricula);
            _context.SaveChanges();
            return(matricula);
        }
예제 #3
0
        public ActionResult Put(long id, [FromBody] Curso curso)
        {
            var cursodb = _context.Cursos.FirstOrDefault(f => f.Id == id);

            try
            {
                if (cursodb != null)
                {
                    cursodb.Nome = curso.Nome;
                    _context.SaveChanges();
                    return(Ok());
                }
            }
            catch (System.Exception ex)
            {
                return(StatusCode(500, ex));
            }
            return(NotFound());
        }