public GetBookingResponseDto GetBooking(int propertyId) { if (propertyId <= 0) { throw new PmsException("Get Booking call failed."); } var queryParams = Request.GetQueryNameValuePairs(); var startDate = queryParams.FirstOrDefault(x => x.Key == "startdate").Value; var endDate = queryParams.FirstOrDefault(x => x.Key == "enddate").Value; var dtFormats = new[] { "dd/MM/yyyy", "yyyy-MM-dd", "dd/M/yyyy", "dd/MM/yyyy" }; DateTime dtStart; DateTime dtEnd; if (startDate == null || !DateTime.TryParseExact(startDate, dtFormats, CultureInfo.InvariantCulture, DateTimeStyles.None, out dtStart)) { throw new PmsException("Incorrect booking start date"); } if (endDate == null || !DateTime.TryParseExact(endDate, dtFormats, CultureInfo.InvariantCulture, DateTimeStyles.None, out dtEnd)) { throw new PmsException("Incorrect booking end date"); } var response = new GetBookingResponseDto(); if (!AppConfigReaderHelper.AppConfigToBool(AppSettingKeys.MockEnabled)) { response.Bookings = _iPmsLogic.GetBooking(propertyId, dtStart, dtEnd); } else { //mock data response.Bookings = new List <Resources.Entities.Booking> { new Booking { CheckinTime = Convert.ToDateTime(String.Format("{0:s}", DateTime.Now)), CheckoutTime = Convert.ToDateTime(String.Format("{0:s}", DateTime.Now.AddHours(3))), RoomBookings = new List <RoomBooking> { new RoomBooking { Id = 100, Room = new Room { Id = 1, Number = "Room B" }, Guest = new Guest { Id = 11, FirstName = "Tyagi", LastName = "Sachin" } }, new RoomBooking { Id = 200, Room = new Room { Id = 2, Number = "Room C" }, Guest = new Guest { Id = 22, FirstName = "Sharma", LastName = "Sachin" } }, new RoomBooking { Id = 300, Room = new Room { Id = 3, Number = "Room D" }, Guest = new Guest { Id = 33, FirstName = "Deepak", LastName = "Sachin" } }, new RoomBooking { Id = 400, Room = new Room { Id = 4, Number = "Room E" }, Guest = new Guest { Id = 44, FirstName = "Sharma123", LastName = "Sachin" } } } } }; } return(response); }