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()); }
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" })); } }
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" })); } }
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" })); } }
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" })); } }