예제 #1
0
        public HttpResponseMessage GetsAvailableRoomsUnderLocation(HttpRequestMessage httpRequest, string locationId, string SdateTime, string EdateTime)
        {
            List <object>       availableRooms = new List <object>();
            HttpResponseMessage response;
            DateTime            s, e;

            if (!(DateTime.TryParse(SdateTime, out s) && DateTime.TryParse(EdateTime, out e)))
            {
                response              = httpRequest.CreateResponse();
                response.StatusCode   = System.Net.HttpStatusCode.BadRequest;
                response.ReasonPhrase = "Unable to parse datetime";
                return(response);
            }

            DateTime.TryParse(EdateTime, out e);

            var rooms = _roomManager.GetAllRoomsForLocation(locationId);

            foreach (var r in rooms)
            {
                if (r.decommission.HasValue && r.decommission.Value)
                {
                    continue;
                }
                if (_bookingManager.GetBookingForRoom(r.Id, s, e).Count() == 0)
                {
                    var room = new { Id = r.Id, location = r.location, MonitorScreen = r.MonitorScreen, Projector = r.Projector, RoomName = r.RoomName, Sitting = r.Sitting, VideoConferencing = r.VideoConferencing_, image = "Content\\img\\room.jpg" };
                    availableRooms.Add(room);
                }
            }
            response = httpRequest.CreateResponse(availableRooms);
            return(response);
        }
예제 #2
0
        // GET api/<controller>
        public HttpResponseMessage Get(string roomId, DateTime startDateTime, DateTime endDateTime)
        {
            if (IsAuth())
            {
                IEnumerable <Booking> bookings = _bookingManager.GetBookingForRoom(roomId, startDateTime, endDateTime);
                HttpResponseMessage   response = Request.CreateResponse <IEnumerable <Booking> >(HttpStatusCode.OK, bookings);
                return(response);
            }

            return(new HttpResponseMessage(HttpStatusCode.Unauthorized));
        }