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