public IHttpActionResult PutRoom(int id, RoomContract room) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != room.Number) { return(BadRequest()); } db.Entry(room.ToInternal()).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!RoomExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public IHttpActionResult PostRoom(RoomContract room) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } Room temp = room.ToInternal(); db.DormitorySet.Attach(temp.Dormitory); db.RoomSet.Add(temp); try { db.SaveChanges(); } catch (DbUpdateException) { if (RoomExists(room.Number)) { return(Conflict()); } else { throw; } } return(CreatedAtRoute("DefaultApi", new { id = room.Number }, room)); }
public IHttpActionResult GetRoom(int id) { RoomContract room = db.RoomSet.Find(id).ToContract(); if (room == null) { return(NotFound()); } return(Ok(room)); }
public IHttpActionResult DeleteRoom(int id) { Room temp = db.RoomSet.Find(id); RoomContract room = temp.ToContract(); if (room == null) { return(NotFound()); } db.RoomSet.Remove(temp); db.SaveChanges(); return(Ok(room)); }
public static RoomContract ToContract(this RoomInternal entity) { if (entity == null) { return(null); } var room = new RoomContract { ID = entity.ID, Number = entity.Number, DormitoryId = entity.Dormitory.ID }; return(room); }
public static RoomInternal ToInternal(this RoomContract entity) { if (entity == null) { return(null); } DormitoryInternal roomDormitory = new DormitoryInternal(); using (MainDbModelContainer1 db = new MainDbModelContainer1()) { roomDormitory = db.DormitorySet.Find(entity.DormitoryId); } var room = new RoomInternal { ID = entity.ID, Number = entity.Number, Dormitory = roomDormitory }; return(room); }