コード例 #1
0
        private List <Date> GetDatesFiltered(DateQuery query)
        {
            var dates = DateStorage.GetData().Select(x => x.Value);

            if (query.SchoolYearId.HasValue)
            {
                dates = dates.Where(x => x.SchoolYearRef == query.SchoolYearId);
            }
            if (query.FromDate.HasValue)
            {
                dates = dates.Where(x => x.Day >= query.FromDate);
            }
            if (query.ToDate.HasValue)
            {
                dates = dates.Where(x => x.Day <= query.ToDate);
            }
            if (query.SchoolDaysOnly)
            {
                dates = dates.Where(x => x.IsSchoolDay);
            }


            if (query.MarkingPeriodId.HasValue)
            {
                var mp = ServiceLocator.MarkingPeriodService.GetMarkingPeriodById(query.MarkingPeriodId.Value);
                dates = dates.Where(x => mp.StartDate <= x.Day && mp.EndDate >= x.Day);
            }

            if (query.DayType.HasValue)
            {
                dates = dates.Where(x => x.DayTypeRef == query.DayType);
            }

            return(dates.ToList());
        }
コード例 #2
0
        /// <summary>
        /// Test Find using the Query class
        /// </summary>
        private void Step_30_TestFindByQuery_Generated()
        {
            using (TransactionManager tm = CreateTransaction())
            {
                //Insert Mock Instance
                Date mock   = CreateMockInstance(tm);
                bool result = DataRepository.DateProvider.Insert(tm, mock);

                Assert.IsTrue(result, "Could Not Test FindByQuery, Insert Failed");

                DateQuery query = new DateQuery();

                query.AppendEquals(DateColumn.Id, mock.Id.ToString());
                if (mock.OrgDate != null)
                {
                    query.AppendEquals(DateColumn.OrgDate, mock.OrgDate.ToString());
                }
                if (mock.Complete != null)
                {
                    query.AppendEquals(DateColumn.Complete, mock.Complete.ToString());
                }

                TList <Date> results = DataRepository.DateProvider.Find(tm, query);

                Assert.IsTrue(results.Count == 1, "Find is not working correctly.  Failed to find the mock instance");
            }
        }
コード例 #3
0
        public async Task FindByDateTest()
        {
            var date      = new DateTime(2018, 1, 1);
            var dateQuery = new DateQuery(date);

            var category = CategoryData.CreateCategory(Guid.NewGuid());

            var transaction1 = TransactionData.CreateTransaction(Guid.NewGuid(), date, category: category);
            var transaction2 = TransactionData.CreateTransaction(Guid.NewGuid(), date.AddDays(1), category: category);
            var transaction3 = TransactionData.CreateTransaction(Guid.NewGuid(), date.AddDays(2), category: category);
            var transaction4 = TransactionData.CreateTransaction(Guid.NewGuid(), date.AddDays(3), category: category);

            await CommitCreateAsync(category);

            await CommitCreateAsync(transaction1);
            await CommitCreateAsync(transaction2);
            await CommitCreateAsync(transaction3);
            await CommitCreateAsync(transaction4);

            var foundTransactions = await TransactionRepository.FindAsync(
                new TransactionQuery(new DateRangeQuery(dateQuery, dateQuery)));

            Assert.That(foundTransactions, Is.EquivalentTo(new[] { transaction1 }));
        }
コード例 #4
0
 public IEnumerable <Date> GetDates(DateQuery dateQuery)
 {
     return(GetDatesFiltered(dateQuery));
 }