Beispiel #1
0
        public async Task <ActionResult> Post([FromBody] DisciplinaRequest request)
        {
            var disciplina = new Disciplina(request.Nome, request.Descritivo, request.Horario);

            if (!disciplina.TaValido())
            {
                return(BadRequest(new { erros = disciplina.ObterErros() }));
            }
            else
            {
                _uow.Disciplinas.Add(disciplina);
                await _uow.CommitAsync();

                foreach (string professorId in request.Professores)
                {
                    Professor professor = await _uow.Usuarios.ObterProfessor(professorId);

                    disciplina.AdicionarProfessor(professor);
                }

                await _uow.CommitAsync();

                var uri = Url.Action("Get", new { id = disciplina.Id });

                return(Created(uri, new { Id = disciplina.Id, Nome = disciplina.Nome }));
            }
        }
Beispiel #2
0
        public async Task <IActionResult> Put(int idDisciplina, [FromBody] DisciplinaRequest disciplinaDTO)
        {
            Disciplina disciplina = await _uow.Disciplinas.ObterComProfessores(idDisciplina);

            if (disciplina == null)
            {
                return(NotFound());
            }

            disciplina.Atualizar(disciplinaDTO);

            if (!disciplina.TaValido())
            {
                return(BadRequest(new { erros = disciplina.ObterErros() }));
            }
            else
            {
                List <Professor> professorsInformados = await _uow.Usuarios.ObterProfessores(disciplinaDTO.Professores);

                disciplina.AdicionarProfessores(professorsInformados);

                await _uow.CommitAsync();

                return(Ok());
            }
        }
Beispiel #3
0
 public void Atualizar(DisciplinaRequest disciplinaDTO)
 {
     this.Descritivo  = disciplinaDTO.Descritivo;
     this.Nome        = disciplinaDTO.Nome;
     this.Horario     = disciplinaDTO.Horario;
     this.Professores = new List <Professor>();
 }
        public ResponseBase Atualizar(DisciplinaRequest request)
        {
            var entidade = _repositorioDisciplina.ObterPorId(request.Id);

            entidade.Atualizar(request.Nome, request.CursoId, request.ProfessorId, true);
            _repositorioDisciplina.Editar(entidade);

            return(new ResponseBase("Alterado com Sucesso!", entidade.Id));
        }
Beispiel #5
0
        public ResponseBase Atualizar(DisciplinaRequest request)
        {
            var entidade = _repositorioDisciplina.ObterPorId(request.Id);

            entidade.Atualizar(request.Nome, request.CursoId, request.ProfessorId);
            AddNotifications(entidade);

            if (IsInvalid())
            {
                return(null);
            }

            _repositorioDisciplina.Editar(entidade);

            return(new ResponseBase(Mensagem.OPERACAO_REALIZADA_COM_SUCESSO));
        }
        public ResponseBase Adicionar(DisciplinaRequest request)
        {
            if (request == null)
            {
                throw new NotImplementedException();
            }

            if (request.Id > 0)
            {
                return(Atualizar(request));
            }

            var entidade = new Disciplina(request.Nome, request.CursoId, request.ProfessorId, true);

            _repositorioDisciplina.Adicionar(entidade);
            _repositorioDisciplina.SaveChanges();

            return(new ResponseBase("Gravado com Sucesso!", entidade.Id));
        }
Beispiel #7
0
        public ResponseBase Adicionar(DisciplinaRequest request)
        {
            if (request == null)
            {
                AddNotification("request", Mensagem.X0_E_OBRIGATORIO.ToFormat("request"));
                return(null);
            }

            var entidade = new Disciplina(request.Nome, request.CursoId, request.ProfessorId);

            AddNotifications(entidade);

            if (IsInvalid())
            {
                return(null);
            }

            _repositorioDisciplina.Adicionar(entidade);

            return(new ResponseBase(Mensagem.OPERACAO_REALIZADA_COM_SUCESSO));
        }