示例#1
0
            public void Should_Add_Tour_Record_ToDb()
            {
                // Arrange
                string pathToFile = @"С:\Users\Dakosia\source\repos\CSharp\KazTourApp\KazTourApp.DAL\LiteDb.db";
                var    tour       = new TourRecord
                                    (
                    1,
                    "Tour to Japan, Kyoto",
                    "Japan",
                    "Kyoto",
                    new DateTime[] { new DateTime(2018, 08, 11) },
                    new int[] { 7 },
                    new int[] { 4 },
                    4,
                    800000
                                    );

                TourStorage storage = new TourStorage();
                int         itemsCountBeforeInsert = storage.ReadAllTours().Count;

                // Act
                storage.AddTour(tour);

                // Assert
                Assert.IsTrue(File.Exists(pathToFile));

                int itemsCountAfterInsert = storage.ReadAllTours().Count;

                Assert.IsTrue(itemsCountBeforeInsert == itemsCountAfterInsert - 1);
            }
示例#2
0
            public void Should_Remove_Tour_Record_FromDb()
            {
                // Arrange
                string      pathToFile = @"С:\Users\Dakosia\source\repos\CSharp\KazTourApp\KazTourApp.DAL\LiteDb.db";
                int         id         = 0;
                TourStorage storage    = new TourStorage();
                int         itemsCountBeforeDeletion = storage.ReadAllTours().Count;

                // Act
                storage.RemoveTour(id);

                // Assert
                Assert.IsTrue(File.Exists(pathToFile));

                int itemsCountAfterDeletion = storage.ReadAllTours().Count;

                Assert.IsTrue(itemsCountBeforeDeletion == itemsCountAfterDeletion + 1);
            }
示例#3
0
        public List <TourRecord> FilterByCriteria(TourSearchRequest request)
        {
            var allTours = _tourStorage.ReadAllTours()
                           .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);
        }