public static AvailabilityReq GetAvailabilityForCancelFromDB(string sid, string HotelCode, string roomcode, string pid)
        {
            AvailabilityReq availabilityReq = new AvailabilityReq();

            try
            {
                SearchDBEntities searchDB = new SearchDBEntities();
                using (HotelBookingDBEntities db = new HotelBookingDBEntities())
                {
                    availabilityReq.HotelCode = HotelCode;

                    availabilityReq.PID = pid;
                    availabilityReq.Sid = sid;



                    var roomsData = searchDB.SearchRoomResults.Where(x => x.sID == sid && x.HotelCode == HotelCode && x.RoomCode == roomcode && x.ProviderId.ToString() == pid).ToList();
                    for (int i = 0; i < roomsData.Count; i++)
                    {
                        RoomAvailability room = new RoomAvailability();

                        room.RoomId  = int.Parse(roomsData[i].RoomCode);
                        room.RoomRef = roomsData[i].RoomReference;
                        availabilityReq.Rooms.Add(room);
                        availabilityReq.TotalCost += roomsData[i].costPrice.Value;
                    }
                }

                return(availabilityReq);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemplo n.º 2
0
        public IActionResult Available(string Date, int RoomId)
        {
            try {
                //Load All of the Reservations
                _resevationRepository.GetAll();

                string ProcessedDate = Date;
                IList <RoomAvailability> Availability = new List <RoomAvailability>();

                IList <Room> Rooms = _roomRepository.GetAll();
                foreach (Room Room in Rooms)
                {
                    RoomModel model = new RoomModel(Room);

                    RoomAvailability AvailabilityItem = new RoomAvailability();

                    List <RoomDetailTime> TimesAvailable = model.GetTimes(ProcessedDate).Where(t => t.available == true).ToList();

                    AvailabilityItem.RoomId = Room.RoomId;
                    AvailabilityItem.Name   = Room.Name;

                    AvailabilityItem.OpenFrom = Room.OpenFrom.ToString() + ":00";
                    AvailabilityItem.OpenTill = Room.OpenTill.ToString() + ":00";

                    AvailabilityItem.TimesAvailable = TimesAvailable;

                    Availability.Add(AvailabilityItem);
                }

                return(Json(Availability));
            } catch (Exception e)
            {
                return(BadRequest(e));
            }
        }
Exemplo n.º 3
0
            public RoomAvailabilityPickerItem(RoomAvailability value)
                : base(value)
            {
                RelativeSizeAxes = Axes.Y;
                Width            = 102;
                Masking          = true;
                CornerRadius     = 5;

                Children = new Drawable[]
                {
                    new Box
                    {
                        RelativeSizeAxes = Axes.Both,
                        Colour           = Color4Extensions.FromHex(@"3d3943"),
                    },
                    selection = new Box
                    {
                        RelativeSizeAxes = Axes.Both,
                        Alpha            = 0,
                    },
                    hover = new Box
                    {
                        RelativeSizeAxes = Axes.Both,
                        Colour           = Color4.White,
                        Alpha            = 0,
                    },
                    new OsuSpriteText
                    {
                        Anchor = Anchor.Centre,
                        Origin = Anchor.Centre,
                        Font   = OsuFont.GetFont(weight: FontWeight.Bold),
                        Text   = value.GetDescription(),
                    },
                };
            }
Exemplo n.º 4
0
        public static HotelAvailability ParseHotelAvailability(string response)
        {
            //Room IDs:
            //One bedroom Condo:
            //inventory_id_111140, inventory_id_104610, inventory_id_104719, inventory_id_121005, inventory_id_104718, inventory_id_113921

            //Two bedroom condo:
            //inventory_id_113926

            //Grotto Suites - 2 BDR + Den:
            //inventory_id_73032, inventory_id_73030

            //	Grotto Plus - 3 BDR :
            //inventory_id_87228, inventory_id_87267

            Dictionary <string, RoomAvailability> roomAvailabilities = new Dictionary <string, RoomAvailability>();
            int    startIndex = response.IndexOf('{');
            int    endIndex   = response.Length - 1;
            string json       = response.Substring(startIndex, endIndex - startIndex);

            //System.IO.File.WriteAllText(@"C:\Users\Chloe\source\repos\TESTFORJSON\SummitJson.txt", json);

            Dictionary <string, dynamic> root = JsonConvert.DeserializeObject <Dictionary <string, dynamic> >(json);

            List <dynamic> roomAvailabilityData = root["room_types"].ToObject <List <dynamic> >();

            foreach (dynamic room in roomAvailabilityData)
            {
                RoomAvailability roomAvailability = ParseSingleRoomAvailability(room.ToObject <Dictionary <string, dynamic> >());
                roomAvailabilities[roomAvailability.RoomNumber] = roomAvailability;
            }

            Console.WriteLine("Successfully parsed");
            return(new HotelAvailability(HotelName.SUMMIT_PENTHOUSES, roomAvailabilities));
        }
Exemplo n.º 5
0
        public void StartBookingProcess(BookingDetails details)
        {
            if (details != null)
            {
                // check for availability
                DateTime selectedDate   = details.BookingCriteria.FromDate;
                bool     proceedBooking = true;
                while (selectedDate <= details.BookingCriteria.ToDate)
                {
                    RoomAvailability availability = DbAccess.GetReservationDetails(selectedDate);
                    if (availability.NoofAvailableRooms == 0)
                    {
                        proceedBooking = false;
                        details.Status = Status.UnConfirmed;
                        break;
                    }
                    selectedDate = selectedDate.AddDays(1);
                }

                if (proceedBooking)
                {
                    details.Status = Status.Confirm;

                    // insert the booking into DB
                    DbAccess.Bookreservation(details);
                }
            }
        }
Exemplo n.º 6
0
 public void MergeWith(RoomAvailability otherAvailability)
 {
     if (!otherAvailability.RoomNumber.Equals(RoomNumber))
     {
         throw new Exception("Error: Cannot merge availabilities for different rooms into one object");
     }
     foreach (KeyValuePair <DateTime, AvailabilityType> otherEntry in otherAvailability.TotalAvailability)
     {
         DateTime         otherKey   = otherEntry.Key;
         AvailabilityType otherValue = otherEntry.Value;
         if (TotalAvailability.ContainsKey(otherKey))
         {
             AvailabilityType existingValue = TotalAvailability[otherKey];
             if (otherValue.Equals(AvailabilityType.NOT_SET) ^ existingValue.Equals(AvailabilityType.NOT_SET))
             {
                 throw new Exception("Error when merging room availabilities for date " +
                                     otherKey.ToLongDateString() + "; One value was set and the other was null");
             }
             else if (!otherValue.Equals(AvailabilityType.NOT_SET) && !existingValue.Equals(AvailabilityType.NOT_SET) && !otherValue.Equals(existingValue))
             {
                 throw new Exception("Error when merging room availabilities for date " +
                                     otherKey.ToLongDateString() + "; One value was " + otherValue.ToString() + " and the other was " + existingValue.ToString());
             }
         }
         else
         {
             TotalAvailability.Add(otherKey, otherEntry.Value);
         }
     }
 }
Exemplo n.º 7
0
        public static async Task AddAvailabilityAroundDate(HotelAvailability hotelAvailability, DateTime requestDate, Dictionary <string, Object> roomsData)
        {
            Dictionary <string, RoomAvailability> roomAvailabilities = hotelAvailability.RoomAvailabilities;
            List <string> fullRoomNumbers = (List <string>)roomsData[ROOM_NUMBERS_KEY];

            string requestDateString = DateUtils.GetMonthDayShortYearFormat(requestDate);

            // Dictionary<string, Task<string>> pageRequests = new Dictionary<string, Task<string>>();
            // TODO: Randomize request order for rooms
            foreach (string fullRoomNumber in fullRoomNumbers)
            {
                Console.WriteLine("Getting data for room: " + fullRoomNumber + " - " + hotelAvailability.Name.Name);

                string roomNumber     = fullRoomNumber.Split(new [] { '-' })[1].Trim();
                string resortCode     = (string)roomsData[RESORT_CODE_KEY];
                string roomNumberCode = (string)roomsData[ROOM_NUMBER_CODE_KEY];
                string url;

                if (roomsData.ContainsKey(PROPERTY_CODE_KEY))
                {
                    url = String.Format("http://irmestore.bigwhite.com/irmnet/res/RoomDetailsPage.aspx?Resort={0}&PropertyCode={1}&RoomNum={2}{3}&Arrival={4}",
                                        resortCode, roomsData[PROPERTY_CODE_KEY], roomNumberCode, roomNumber, requestDateString);
                }
                else
                {
                    url = String.Format("http://irmestore.bigwhite.com/irmnet/res/RoomDetailsPage.aspx?Resort={0}&RoomNum={1}{2}&Arrival={3}",
                                        resortCode, roomNumberCode, roomNumber, requestDateString);
                }

                Task <string> page = GetPage(url);
                // pageRequests.Add(fullRoomNumber, page);
                string           pageText         = await page;
                RoomAvailability roomAvailability = BigWhiteParser.ParseSingleRoomAvailability(pageText, roomNumber);
                if (!roomAvailabilities.ContainsKey(fullRoomNumber))
                {
                    roomAvailabilities.Add(fullRoomNumber, roomAvailability);
                }
                else
                {
                    roomAvailabilities[fullRoomNumber].MergeWith(roomAvailability);
                }
            }

            /*foreach (KeyValuePair<string, Task<string>> pageRequest in pageRequests)
             * {
             *      string fullRoomNumber = pageRequest.Key;
             *      string roomNumber = fullRoomNumber.Split(new[] { '-' })[1].Trim();
             *      string pageText = await pageRequest.Value;
             *      Console.WriteLine("Page received");
             *      RoomAvailability roomAvailability = BigWhiteParser.ParseSingleRoomAvailability(pageText, roomNumber);
             *      if (!roomAvailabilities.ContainsKey(fullRoomNumber))
             *      {
             *              roomAvailabilities.Add(fullRoomNumber, roomAvailability);
             *      }
             *      else
             *      {
             *              roomAvailabilities[fullRoomNumber].MergeWith(roomAvailability);
             *      }
             * }*/
        }
Exemplo n.º 8
0
        public IHttpActionResult PutRoomAvailability(string id, RoomAvailability roomAvailability)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != roomAvailability.BookingID)
            {
                return(BadRequest());
            }

            db.Entry(roomAvailability).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!RoomAvailabilityExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
Exemplo n.º 9
0
        public IHttpActionResult PostRoomAvailability(RoomAvailability roomAvailability)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.RoomAvailabilities.Add(roomAvailability);

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateException)
            {
                if (RoomAvailabilityExists(roomAvailability.BookingID))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(CreatedAtRoute("DefaultApi", new { id = roomAvailability.BookingID }, roomAvailability));
        }
Exemplo n.º 10
0
        public static void Parse(String page, HotelAvailability hotelAvailability, DateTime requestDate)
        {
            HtmlDocument htmlDocument = new HtmlDocument();

            htmlDocument.LoadHtml(page);

            HtmlNode rootDiv = htmlDocument.GetElementbyId("availTbl");
            HtmlNode table   = rootDiv.ChildNodes.ElementAt(1);
            HtmlNode tHead   = table.ChildNodes.ElementAt(1);
            HtmlNode datesTr = tHead.ChildNodes.ElementAt(1);

            List <DateTime> dates = GetDateRange(datesTr, requestDate);

            HtmlNode tBody = table.ChildNodes.ElementAt(3);

            for (int i = 1; i < tBody.ChildNodes.Count; i += 2)
            {
                HtmlNode roomInfoTr = tBody.ChildNodes.ElementAt(i);

                RoomAvailability roomAvailability = GetRoomAvailability(roomInfoTr, dates);

                if (!hotelAvailability.RoomAvailabilities.ContainsKey(roomAvailability.RoomNumber))
                {
                    hotelAvailability.RoomAvailabilities.Add(roomAvailability.RoomNumber, roomAvailability);
                }
                else
                {
                    RoomAvailability existingRoomAvailability = hotelAvailability.RoomAvailabilities[roomAvailability.RoomNumber];
                    existingRoomAvailability.MergeWith(roomAvailability);
                }
            }
        }
Exemplo n.º 11
0
        public ActionResult DeleteConfirmed(string id)
        {
            RoomAvailability roomAvailability = db.RoomAvailabilities.Find(id);

            db.RoomAvailabilities.Remove(roomAvailability);
            db.SaveChanges();
            return(RedirectToAction("RoomAvailability", "Home"));
        }
Exemplo n.º 12
0
 public void MergeWith(HotelAvailability otherAvailabililty)
 {
     foreach (KeyValuePair <string, RoomAvailability> roomAvailabilityInfo in otherAvailabililty.RoomAvailabilities)
     {
         RoomAvailability correspondingRoomAvailability = RoomAvailabilities[roomAvailabilityInfo.Key];
         roomAvailabilityInfo.Value.MergeWith(correspondingRoomAvailability);
     }
 }
Exemplo n.º 13
0
 public void Save(RoomAvailability roomAvailability)
 {
     if (roomAvailability.RoomId == Ids.OptimisticLockRoom)
     {
         throw new OptimisticLockException(nameof(RoomAvailability), roomAvailability.Id, 2, 1);
     }
     store.Save(roomAvailability);
     Saved = roomAvailability;
 }
        public void NoAvailability()
        {
            var availability = new RoomAvailability(Ids.NotAvailableRoom, 0);

            var result = availability.Book(Ids.JonSnow, 1);

            Assert.False(result);
            Assert.Equal(0, availability.Quantity);
            Assert.Null(availability.BookingFor(Ids.JonSnow));
        }
Exemplo n.º 15
0
 public ActionResult Edit([Bind(Include = "BookingID,RoomStatus,StaffIncharge,FirstName,LastName,CheckinDate,CheckoutDate,NumberOfAdult,NumberOfKid,ContactNumber,MailingAddress,EmailAddress,PaymentDetails,CreditCardNumber,CreditCardHolderName,CreditCardExpiryDate,AdditionalRemarks,LateCheck")] RoomAvailability roomAvailability)
 {
     if (ModelState.IsValid)
     {
         db.Entry(roomAvailability).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("RoomAvailability", "Home"));
     }
     return(View(roomAvailability));
 }
        public void SuccessfulBooking()
        {
            var availability = new RoomAvailability(Ids.AvailableRoom, 10);

            var result = availability.Book(Ids.JonSnow, 1);

            Assert.True(result);
            Assert.Equal(9, availability.Quantity);
            Assert.Equal(new RoomAvailabilityBooking(Ids.JonSnow, 1), availability.BookingFor(Ids.JonSnow));
        }
Exemplo n.º 17
0
        public IHttpActionResult GetRoomAvailability(string id)
        {
            RoomAvailability roomAvailability = db.RoomAvailabilities.Find(id);

            if (roomAvailability == null)
            {
                return(NotFound());
            }

            return(Ok(roomAvailability));
        }
        public void CustomerAlreadyBook()
        {
            var availability = new RoomAvailability(Ids.AvailableRoom, 10);

            availability.Book(Ids.JonSnow, 1);

            var result = availability.Book(Ids.JonSnow, 2);

            Assert.False(result);
            Assert.Equal(9, availability.Quantity);
            Assert.Equal(new RoomAvailabilityBooking(Ids.JonSnow, 1), availability.BookingFor(Ids.JonSnow));
        }
Exemplo n.º 19
0
        /// <summary>
        /// Handles the Click event of the _btnAddDates control.
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
        protected void _btnAddDates_Click(object sender, EventArgs e)
        {
            var startDate = (DateTime)_rdpStartDate.DbSelectedDate;
            var startTime = ((DateTime)_rtpStartTime.DbSelectedDate).TimeOfDay;
            var endDate   = _rdpEndDate.DbSelectedDate;
            var endTime   = ((DateTime)_rtpEndTime.DbSelectedDate).TimeOfDay;

            var days = _rcbDays.CheckedItems.Aggregate(String.Empty, (current, item) => current + (item.Value + ",")).TrimEnd(',');

            var isVald = GetIsValdAddDates(days, endDate, startDate, startTime, endTime);

            if (isVald == false)
            {
                return;
            }

            //Check for any overlap here
            var appointMentToAdd = new AppointmentTemporaryObj
            {
                AllDay    = false,
                Days      = days,
                EndDate   = (DateTime?)endDate,
                EndTime   = endTime,
                RoomId    = RoomId,
                StartDate = startDate,
                StartTime = startTime
            };

            var db = new UrbanDataContext();
            var currentAvilList = db.Manager.RoomAvailability.GetByRoomID(RoomId).OrderByDescending(t => t.StartDate).ToList();

            //Check if date to add is valid over existing range of dates.
            if (AppointmentTemporaryObj.DoesDateOverLap(appointMentToAdd, currentAvilList.ToAppointmentTempObject()))
            {
                WriteFeedBackMaster(FeedbackType.Error, "Date overlaps");
                return;
            }
            var newAppointment = new RoomAvailability
            {
                AllDay    = appointMentToAdd.AllDay,
                Days      = appointMentToAdd.Days == String.Empty ? null : appointMentToAdd.Days,
                EndDate   = appointMentToAdd.EndDate,
                EndTime   = appointMentToAdd.EndTime,
                RoomID    = RoomId,
                StartDate = appointMentToAdd.StartDate,
                StartTime = appointMentToAdd.StartTime
            };

            db.RoomAvailability.InsertOnSubmit(newAppointment);
            db.SubmitChanges();
            RebindGridAndScheduler();
        }
        public void IncrementVersion()
        {
            var store           = new InMemoryRoomAvailabilityStore();
            var newAvailability = new RoomAvailability(Ids.AvailableRoom, 10);

            store.Save(newAvailability);

            var availability = store.LoadForRoom(Ids.AvailableRoom);

            Assert.NotNull(availability);
            Assert.Equal(0, newAvailability.Version);
            Assert.Equal(1, availability.Version);
        }
Exemplo n.º 21
0
        public IHttpActionResult DeleteRoomAvailability(string id)
        {
            RoomAvailability roomAvailability = db.RoomAvailabilities.Find(id);

            if (roomAvailability == null)
            {
                return(NotFound());
            }

            db.RoomAvailabilities.Remove(roomAvailability);
            db.SaveChanges();

            return(Ok(roomAvailability));
        }
Exemplo n.º 22
0
        // GET: RoomAvailabilities/Delete/5
        public ActionResult Delete(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            RoomAvailability roomAvailability = db.RoomAvailabilities.Find(id);

            if (roomAvailability == null)
            {
                return(HttpNotFound());
            }
            return(View(roomAvailability));
        }
Exemplo n.º 23
0
        public void Save(RoomAvailability roomAvailability)
        {
            var @new = Clone(roomAvailability);

            IncrementVersionOf(@new);

            roomAvailabilitiesByRoomId.AddOrUpdate(@new.RoomId,
                                                   _ => Serialize(@new),
                                                   (_, str) =>
            {
                var current = Deserialize(str);
                if (current.Version >= @new.Version)
                {
                    ThrowOptimisticLock(@new, current);
                }
                return(Serialize(@new));
            });
        }
Exemplo n.º 24
0
        /// <summary>
        /// Calculates the recurring from availble.
        /// </summary>
        /// <param name="avail">The avail.</param>
        /// <param name="endDate">The end date.</param>
        /// <returns></returns>
        private static IEnumerable <AppointmentObj> CalculateRecurringFromAvailble(RoomAvailability avail, DateTime endDate)
        {
            var dayList = ParseDayString(avail.Days);

            var apptList = new List <AppointmentObj>();
            //recurring dates
            var days = 0;

            for (var date = avail.StartDate.Add(avail.StartTime); date.Date < endDate; date = date.AddDays(1))
            {
                if (dayList.Contains(date.DayOfWeek)) //Handle day of the week recurring
                {
                    apptList.Add(new AppointmentObj("Available", avail.StartDate.Add(avail.StartTime).AddDays(days), avail.StartDate.Add(avail.EndTime).AddDays(days), "", "", "", avail.Room.UserID, false, avail.Id));
                }

                days++;
            }

            return(apptList);
        }
        public static AvailabilityValidModel GetAvailabilityFromDB(string sid, string BN)
        {
            AvailabilityValidModel availabilityValid = new AvailabilityValidModel();
            AvailabilityReq        availabilityReq   = new AvailabilityReq();

            try
            {
                SearchDBEntities searchDB = new SearchDBEntities();
                using (HotelBookingDBEntities db = new HotelBookingDBEntities())
                {
                    var HotelBookin = db.HotelsBookings.FirstOrDefault(x => x.SessionId == sid && x.Booking_No == BN);
                    availabilityReq.HotelCode  = HotelBookin.Hotel_ID;
                    availabilityReq.BookingNum = BN;
                    availabilityReq.PID        = HotelBookin.Provider_ID;
                    availabilityReq.Sid        = sid;
                    availabilityValid.Curr     = HotelBookin.Sell_Currency;
                    var BookedRooms = db.HotelBookingRooms.Where(x => x.SID == sid && x.Booking_No == BN).ToList();
                    var lstRooms    = BookedRooms.Select(s => s.Room_No.ToString()).ToList();
                    var roomsData   = searchDB.SearchRoomResults.Where(x => x.sID == sid && x.HotelCode == HotelBookin.Hotel_ID && lstRooms.Contains(x.RoomCode) && x.ProviderId.ToString() == HotelBookin.Provider_ID).ToList();
                    if (roomsData != null && roomsData.Count > 0)
                    {
                        for (int i = 0; i < BookedRooms.Count; i++)
                        {
                            RoomAvailability room = new RoomAvailability();
                            var roomData          = roomsData.FirstOrDefault(a => a.RoomCode == BookedRooms[i].Room_No.ToString());
                            room.RoomId  = int.Parse(roomData.RoomCode);
                            room.RoomRef = roomData.RoomReference;
                            room.Cost    = roomData.costPrice.Value;
                            availabilityReq.Rooms.Add(room);
                            availabilityReq.TotalCost += roomData.costPrice.Value;
                        }
                    }
                }
                availabilityValid.availabilityReq = availabilityReq;
                return(availabilityValid);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemplo n.º 26
0
        public int GetRoomAvy()
        {
            var roomavailability = new RoomAvailability();

            Console.Clear();
            Console.WriteLine("Thank you.\n Now, I will need to know how many rooms of this type are available.\n Please insert the number of rooms available in your hotel for this type.");
            var roomavy = Console.ReadLine();

            int.TryParse(roomavy, out int result);
            var looproomavy = result;

            while (looproomavy == 0)
            {
                Console.WriteLine("Invalid Number. Please insert the number of rooms available in your hotel for this type.");
                roomavy = Console.ReadLine();
                int.TryParse(roomavy, out int result1);
                looproomavy = result1;
            }

            return(Convert.ToInt32(roomavy));
        }
Exemplo n.º 27
0
        public static HotelAvailability ParseHotelAvailability(string response)
        {
            Dictionary <string, RoomAvailability> roomAvailabilities = new Dictionary <string, RoomAvailability>();
            int    startIndex = response.IndexOf('{');
            int    endIndex   = response.Length - 1;
            string json       = response.Substring(startIndex, endIndex - startIndex);

            //System.IO.File.WriteAllText(@"C:\Users\Chloe\source\repos\TESTFORJSON\FireJson.txt", json);

            Dictionary <string, dynamic> root = JsonConvert.DeserializeObject <Dictionary <string, dynamic> >(json);

            List <dynamic> roomAvailabilityData = root["room_types"].ToObject <List <dynamic> >();

            foreach (dynamic room in roomAvailabilityData)
            {
                RoomAvailability roomAvailability = ParseSingleRoomAvailability(room.ToObject <Dictionary <string, dynamic> >());
                roomAvailabilities[roomAvailability.RoomNumber] = roomAvailability;
            }

            Console.WriteLine("Successfully parsed");
            return(new HotelAvailability(HotelName.FIRE_MOUNTAIN, roomAvailabilities));
        }
Exemplo n.º 28
0
 private static string Serialize(RoomAvailability roomAvailability) => JsonConvert.SerializeObject(roomAvailability);
Exemplo n.º 29
0
 private static void IncrementVersionOf(RoomAvailability availability) =>
 availability.GetType().GetProperty(nameof(RoomAvailability.Version))
 .SetValue(availability, availability.Version + 1);
Exemplo n.º 30
0
 private static RoomAvailability Clone(RoomAvailability roomAvailability) => Deserialize(Serialize(roomAvailability));