public void Should_Add_Tour_Record_ToDb() { // Arrange string pathToFile = @"C:\Users\РаимбаевИ\Databases\LiteDb.db"; var tour = new TourRecord() { Country = "Japan", City = "Kyoto", StartTimes = new DateTime[] { new DateTime(2018, 08, 11) }, BasePriceForPerson = 800000, MaxPersonsAllowed = 4, PlacesLeft = new int[] { 5 }, DurationInDays = new int[] { 7 } }; TourStorage storage = new TourStorage(); int itemsCountBeforeInsert = storage.ReadAll().Count; // Act storage.AddTour(tour); // Assert Assert.IsTrue(File.Exists(pathToFile)); TourStorage secondStorage = new TourStorage(); int itemsCountAfterInsert = storage.ReadAll().Count; Assert.IsTrue(itemsCountBeforeInsert == itemsCountAfterInsert - 1); }
public List <TourRecord> FilterByCriteria(TourSearchRequest request) { var allTours = _tourStorage.ReadAll() .Where(x => x.Country == request.ToCountry && x.MaxPersonsAllowed >= request.PersonCount); List <TourRecord> filteredTourRecords = new List <TourRecord>(); foreach (var item in allTours) { foreach (var date in item.StartTimes) { for (int i = -request.DepartureDateOffset; i <= request.DepartureDateOffset; i++) { if (request.DepartureDate.AddDays(i) == date) { filteredTourRecords.Add(item); } } } } return(filteredTourRecords); }