Exemple #1
0
        // POST: api/Places
        public HttpResponseMessage Post([FromBody] Place place)
        {
            try
            {
                using (ParkingDBEntities entities = new ParkingDBEntities())
                {
                    entities.Places.Add(place);
                    entities.SaveChanges();

                    //To add slots entry
                    Slot slot = new Slot();
                    slot.PlaceId   = place.Id;
                    slot.FreeSlots = place.MaxSlots;

                    entities.Slots.Add(slot);
                    entities.SaveChanges();

                    var message = Request.CreateResponse(HttpStatusCode.Created, place);
                    message.Headers.Location = new Uri(Request.RequestUri + place.Id.ToString());

                    return(message);
                }
            }
            catch (Exception ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
            }
        }
Exemple #2
0
        // PUT: api/Places/5
        public HttpResponseMessage Put(int id, [FromBody] Place place)
        {
            try
            {
                using (ParkingDBEntities entities = new ParkingDBEntities())
                {
                    var entity = entities.Places.FirstOrDefault <Place>(p => p.Id == id);

                    if (entity == null)
                    {
                        return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "Place with id " + id + " not found to update."));
                    }
                    else
                    {
                        entity.PlaceName = place.PlaceName;
                        entity.Address   = place.Address;
                        entity.Longitude = place.Longitude;
                        entity.Longitude = place.Latitude;
                        entity.MaxSlots  = place.MaxSlots;

                        entities.SaveChanges();

                        return(Request.CreateResponse(HttpStatusCode.OK, entity));
                    }
                }
            }
            catch (Exception ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
            }
        }
        // PUT: api/Slots/5
        public HttpResponseMessage Put(int id, [FromBody] Slot slot)
        {
            try
            {
                using (ParkingDBEntities entities = new ParkingDBEntities())
                {
                    var entity = entities.Slots.FirstOrDefault <Slot>(p => p.PlaceId == id);

                    if (entity == null)
                    {
                        return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "Parking place with id " + id + " not found to update."));
                    }
                    else
                    {
                        entity.FreeSlots = slot.FreeSlots;

                        entities.SaveChanges();

                        return(Request.CreateResponse(HttpStatusCode.OK, entity));
                    }
                }
            }
            catch (Exception ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
            }
        }
Exemple #4
0
        // DELETE: api/Places/5
        public HttpResponseMessage Delete(int id)
        {
            try
            {
                using (ParkingDBEntities entities = new ParkingDBEntities())
                {
                    var place = entities.Places.FirstOrDefault <Place>(p => p.Id == id);
                    var slot  = entities.Slots.FirstOrDefault <Slot>(p => p.PlaceId == id);

                    if (place == null || slot == null)
                    {
                        return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "Place with id " + id + " not found to Delete."));
                    }
                    else
                    {
                        entities.Places.Remove(place);
                        entities.Slots.Remove(slot);
                        entities.SaveChanges();

                        return(Request.CreateResponse(HttpStatusCode.OK));
                    }
                }
            }
            catch (Exception ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
            }
        }
        // POST: api/Slots
        public HttpResponseMessage Post([FromBody] Slot slot)
        {
            try
            {
                using (ParkingDBEntities entities = new ParkingDBEntities())
                {
                    entities.Slots.Add(slot);
                    entities.SaveChanges();

                    var message = Request.CreateResponse(HttpStatusCode.Created, slot);
                    message.Headers.Location = new Uri(Request.RequestUri + slot.Id.ToString());

                    return(message);
                }
            }
            catch (Exception ex)
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
            }
        }