Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }