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));
        }
Beispiel #5
0
        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);
        }
Beispiel #6
0
        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);
        }