public async Task<IHttpActionResult> PutMessage(int id, Message message) { if (!ModelState.IsValid) { return BadRequest(ModelState); } if (id != message.ID) { return BadRequest(); } db.Entry(message).State = EntityState.Modified; try { await db.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!MessageExists(id)) { return NotFound(); } else { throw; } } return StatusCode(HttpStatusCode.NoContent); }
public async Task<IHttpActionResult> PostMessage(Message message) { if (!ModelState.IsValid) { return BadRequest(ModelState); } db.Messages.Add(message); await db.SaveChangesAsync(); // New code: // Load user name db.Entry(message).Reference(x => x.User).Load(); var dto = new MessageDTO() { ID = message.ID, Content = message.Content, UserName = message.User.Name }; return CreatedAtRoute("DefaultApi", new { id = message.ID }, dto); }