コード例 #1
0
        public IHttpActionResult PostRegistrazione(string userId, int idEvento)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }
            Registrazione registrazione;

            int id = GetRegistrazioneUtente(userId, idEvento);
            if (id > 0) {
                registrazione= db.Registrazioni.Find(id);
            } else
            {
                int posti=GetPostiDisponibili(idEvento);
                DateTime? dataConfermaRegistrazione= null;
                if (posti > 0) dataConfermaRegistrazione = DateTime.Now;
                registrazione = new Registrazione()
                {
                    DataRichiestaRegistrazione = DateTime.Now
                    ,IdEvento = idEvento
                    ,UserId = userId
                    ,DataUltimoStato=DateTime.Now
                    ,DataConfermaRegistrazione = dataConfermaRegistrazione.Value
                    ,StatoRegistrazione = (posti > 0) ? StatoRegistrazione.Confermata : StatoRegistrazione.StandBy
                };
                db.Registrazioni.Add(registrazione);
                db.SaveChanges();

            }

            if (registrazione.IdRegistrazione > 0) {
                return Ok(registrazione);
            }
            else
            {
                return BadRequest();
            }

            //return CreatedAtRoute("DefaultApi", new { id = registrazione.IdRegistrazione }, registrazione);
        }
コード例 #2
0
        public IHttpActionResult PutRegistrazione(int id, Registrazione registrazione)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            if (id != registrazione.IdRegistrazione)
            {
                return BadRequest();
            }

            db.Entry(registrazione).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!RegistrazioneExists(id))
                {
                    return NotFound();
                }
                else
                {
                    throw;
                }
            }

            return StatusCode(HttpStatusCode.NoContent);
        }