public void GetIncorrectRoomFromRepositoryMustReturnNull() { var data = new HotelBookingSystemData(); var expected = new Room(2, 30.00m); data.RepositoryWithRooms.Add(expected); var actual = data.RepositoryWithRooms.Get(2); Assert.AreEqual(null, actual); }
/// <summary> /// Add new room to specific venue /// </summary> /// <param name="venueId"></param> /// <param name="places"></param> /// <param name="pricePerDay"></param> /// <returns>View with newRoom model</returns> public IView Add(int venueId, int places, decimal pricePerDay) { this.Authorize(Roles.VenueAdmin); var venue = this.Data.RepositoryWithVenues.Get(venueId); // BUG: != to == if (venue == null) { return this.NotFound(string.Format("The venue with ID {0} does not exist.", venueId)); } var newRoom = new Room(places, pricePerDay); venue.Rooms.Add(newRoom); this.Data.RepositoryWithRooms.Add(newRoom); return this.View(newRoom); }
// PERFORMANCE: this method can be optimized. private void UpdateRoomAvailability( DateTime startDate, DateTime endDate, Room room, AvailableDate availablePeriod) { room.AvailableDates.Remove(availablePeriod); var periodBeforeBooking = startDate - availablePeriod.StartDate; if (periodBeforeBooking > TimeSpan.Zero) { room.AvailableDates.Add( new AvailableDate(availablePeriod.StartDate, availablePeriod.StartDate.Add(periodBeforeBooking))); } var periodAfterBooking = availablePeriod.EndDate - endDate; if (periodAfterBooking > TimeSpan.Zero) { room.AvailableDates.Add( new AvailableDate(availablePeriod.EndDate.Subtract(periodAfterBooking), availablePeriod.EndDate)); } }
public AddPeriod(Room room) : base(room) { }
public Add(Room room) : base(room) { }