Exemple #1
0
        // PUT: api/Jornalistas/5
        public IHttpActionResult Put(int id, [FromBody] Jornalistas model)
        {
            if (!ModelState.IsValid)
            {
                // O BadRequest permite usar o ModelState
                // para informar o cliente dos erros de validaçãow
                // tal como no MVC.
                return(BadRequest(ModelState));
            }

            // Verificar se existe referencia para este id
            if (id > db.Jornalista.Select(not => not.JornalistasID).Max())
            {
                return(BadRequest("Sorry, seems something wrong. Couldn't determine record to update."));
            }

            var jornalista = (from jor in db.Jornalista
                              where jor.JornalistasID == id
                              select jor).FirstOrDefault();

            jornalista.Nome = model.Nome;

            db.Entry(jornalista);

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException exp)
            {
                if (!(db.Jornalista.Count(e => e.JornalistasID == id) > 0))
                {
                    return(NotFound());
                }
                else
                {
                    throw exp;
                }
            }

            return(Ok(model));
        }
Exemple #2
0
        public IHttpActionResult Post([FromBody] Jornalistas model)
        {
            if (!ModelState.IsValid)
            {
                // O BadRequest permite usar o ModelState
                // para informar o cliente dos erros de validação
                // tal como no MVC.
                return(BadRequest(ModelState));
            }

            var ID = db.Jornalista.Select(id => id.JornalistasID).Max() + 1;

            var jornalista = new Models.Jornalistas {
                JornalistasID = ID,
                Nome          = model.Nome
            };

            db.Jornalista.Add(jornalista);

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateException exp)
            {
                // Seria muito provável que o método
                // db.Agentes.Max(agente => agente.ID) + 1
                // fizesse com que este if resultasse no Conflict (HTTP 409).
                if (db.Jornalista.Count(e => e.JornalistasID == ID) > 0)
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(CreatedAtRoute("DefaultApi", new { id = jornalista.JornalistasID }, jornalista));
        }