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); }
// 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)); }