Пример #1
0
        public Audiencia Find(AudienciaFilter filter)
        {
            var query = _contexto.Audiencia.AsQueryable();

            if (filter.Id != 0)
            {
                query = query.Where(e => e.Id == filter.Id);
            }

            if (filter.Data_Hora_Audiencia.Date != new DateTime(0001, 01, 01))
            {
                query = query.Where(e => e.Data_Hora_Audiencia == filter.Data_Hora_Audiencia);
            }

            if (filter.Pontos_Audiencia != 0)
            {
                query = query.Where(e => e.Pontos_Audiencia == filter.Pontos_Audiencia);
            }

            if (filter.Emissora_Audiencia != 0)
            {
                query = query.Where(e => e.Emissora_Audiencia == filter.Emissora_Audiencia);
            }

            return(query.FirstOrDefault());
        }
Пример #2
0
        public IActionResult Update(int Id, [FromBody] Audiencia request)
        {
            try
            {
                string erro = AudienciaValidator.VerificaCampos(request);
                if (erro != "")
                {
                    return(BadRequest(new { mensagem = erro }));
                }


                var filter = new AudienciaFilter();
                filter.Id = request.Id;

                var audiencia = _repository.Find(filter);
                if (audiencia == null)
                {
                    return(NotFound(new { mensagem = "Audiencia não encontrada" }));
                }

                var emissora = _repository.FindEmissora(request.Emissora_Audiencia);

                if (emissora == null)
                {
                    return(BadRequest(new { mensagem = "Emissora não encontrada" }));
                }

                audiencia.Emissora_Audiencia  = request.Emissora_Audiencia;
                audiencia.Data_Hora_Audiencia = request.Data_Hora_Audiencia;
                audiencia.Pontos_Audiencia    = request.Pontos_Audiencia;

                _repository.Update(audiencia);
                return(NoContent());
            }
            catch (Exception e)
            {
                return(StatusCode(500, new { erro = "Falha no servidor! Tente novamente mais tarde" }));
            }
        }
Пример #3
0
        public IActionResult Find([FromQuery] AudienciaFilter filter)
        {
            try
            {
                if (filter.Id == 0 && filter.Data_Hora_Audiencia == null && filter.Emissora_Audiencia == 0)
                {
                    return(BadRequest(new { mensagem = "É necessário inserir ao menos um filtro para pesquisa" }));
                }

                var audiencia = _repository.Find(filter);

                if (audiencia == null)
                {
                    return(NotFound(new { mensagem = "Audiencia não encontrada" }));
                }

                return(new ObjectResult(audiencia));
            }
            catch (Exception e)
            {
                return(StatusCode(500, new { erro = "Falha no servidor! Tente novamente mais tarde" }));
            }
        }
Пример #4
0
        public IActionResult Delete(int Id)
        {
            try
            {
                var filter = new AudienciaFilter();
                filter.Id = Id;

                var emissora = _repository.Find(filter);

                if (emissora == null)
                {
                    return(NotFound(new { mensagem = "Emissora não encontrada" }));
                }

                _repository.Remove(emissora);

                return(NoContent());
            }
            catch (Exception e)
            {
                return(StatusCode(500, new { erro = "Falha no servidor! Tente novamente mais tarde" }));
            }
        }
Пример #5
0
        public IActionResult Add([FromBody] Audiencia audiencia)
        {
            try
            {
                string erro = AudienciaValidator.VerificaCampos(audiencia);
                if (erro != "")
                {
                    return(BadRequest(new { mensagem = erro }));
                }

                var emissora = _repository.FindEmissora(audiencia.Emissora_Audiencia);

                if (emissora == null)
                {
                    return(BadRequest(new { mensagem = "Emissora não encontrada" }));
                }

                var filter = new AudienciaFilter();
                filter.Emissora_Audiencia  = audiencia.Emissora_Audiencia;
                filter.Data_Hora_Audiencia = audiencia.Data_Hora_Audiencia;

                var audienciaExistente = _repository.Find(filter);
                if (audienciaExistente != null)
                {
                    return(Unauthorized(new { mensagem = "Já existe uma pontuação definida para emissora essa hora" }));
                }

                _repository.Add(audiencia);

                return(CreatedAtRoute("FindAudiencia", new { Id = audiencia.Id }, audiencia));
            }
            catch (Exception e)
            {
                return(StatusCode(500, new { erro = "Falha no servidor! Tente novamente mais tarde" }));
            }
        }