Esempio n. 1
0
        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" }));
            }
        }
Esempio n. 2
0
        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" }));
            }
        }
Esempio n. 3
0
        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" }));
            }
        }
Esempio n. 4
0
        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());
        }
Esempio n. 5
0
        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" }));
            }
        }