public IActionResult Update(int Id, [FromBody] Emissora request) { try { var filter = new EmissoraFilter(); filter.Id = Id; var emissora = _repository.Find(filter); if (emissora == null) { return(NotFound(new { mensagem = "Emissora não encontrada" })); } string erro = EmissoraValidator.VerificaCampos(request); if (erro != "") { return(BadRequest(new { mensagem = erro })); } emissora.Nome = request.Nome; _repository.Update(emissora); return(NoContent()); } catch (Exception e) { return(StatusCode(500, new { erro = "Falha no servidor! Tente novamente mais tarde" })); } }
public IActionResult Add([FromBody] Emissora emissora) { try { string erro = EmissoraValidator.VerificaCampos(emissora); if (erro != "") { return(BadRequest(new { mensagem = erro })); } var filter = new EmissoraFilter(); filter.Nome = emissora.Nome; var emissoraExistente = _repository.Find(filter); if (emissoraExistente != null) { return(Unauthorized(new { mensagem = "Já existe uma emissora cadastrada com esse nome" })); } _repository.Add(emissora); return(CreatedAtRoute("FindEmissora", new { Id = emissora.Id }, emissora)); } catch (Exception e) { return(StatusCode(500, new { erro = "Falha no servidor! Tente novamente mais tarde" })); } }
public IActionResult Delete(int Id) { try { var filter = new EmissoraFilter(); filter.Id = Id; var emissora = _repository.Find(filter); if (emissora == null) { return(NotFound(new { mensagem = "Emissora não encontrada" })); } if (_repository.VerificaRegistroAudienciaPorEmissora(Id)) { return(Unauthorized(new { mensagem = "Existem registros de audiência vinculados a esta emissora!" })); } _repository.Remove(emissora); return(NoContent()); } catch (Exception e) { return(StatusCode(500, new { erro = "Falha no servidor! Tente novamente mais tarde" })); } }
public Emissora Find(EmissoraFilter filter) { var query = _contexto.Emissora.AsQueryable(); if (filter.Id != 0) { query = query.Where(e => e.Id == filter.Id); } if (filter.Nome != null) { query = query.Where(e => e.Nome.ToUpper() == filter.Nome.ToUpper()); } return(query.FirstOrDefault()); }
public IActionResult Find([FromQuery] EmissoraFilter filter) { try { if (filter.Id == 0 && filter.Nome.Trim() == "") { return(BadRequest(new { mensagem = "É necessário inserir ao menos um filtro para pesquisa" })); } var emissora = _repository.Find(filter); if (emissora == null) { return(NotFound(new { mensagem = "Emissora não encontrada" })); } return(new ObjectResult(emissora)); } catch (Exception e) { return(StatusCode(500, new { erro = "Falha no servidor! Tente novamente mais tarde" })); } }