Пример #1
0
        public void FilterParametersTrimConcept()
        {
            FinanceMovementFilterParameters parameters = new FinanceMovementFilterParameters();

            parameters.Concept = "     filter applied           ";
            Assert.AreEqual(parameters.Concept, "filter applied");
        }
        public IQueryable <FinanceMovement> FindByCondition(FinanceMovementFilterParameters filterParameters, bool trackChanges = false)
        {
            IQueryable <FinanceMovement> query = repositoryContext.FinanceMovements;

            if (filterParameters != null)
            {
                if (filterParameters.DateFrom != null)
                {
                    query = query.Where(r => filterParameters.DateFrom <= r.Date);
                }
                if (filterParameters.DateTo != null)
                {
                    query = query.Where(r => r.Date <= filterParameters.DateTo);
                }
                if (!string.IsNullOrEmpty(filterParameters.Concept))
                {
                    query = query.Where(r => r.Concept.Contains(filterParameters.Concept));
                }
                if (filterParameters.IsIncome != null)
                {
                    query = query.Where(r => (r.Quantity * r.Amount >= 0) == filterParameters.IsIncome.Value);
                }
                if (filterParameters.SubFamilyIds.Any())
                {
                    query = query.Where(r => filterParameters.SubFamilyIds.Contains(r.SubFamilyId));
                }
            }

            return(trackChanges ? query : query.AsNoTracking());
        }
Пример #3
0
        public void LoadingMovements()
        {
            FinancesListViewModel viewModel = new FinancesListViewModel();

            FinanceMovementFilterParameters parameters = new FinanceMovementFilterParameters();

            viewModel.LoadMovements(parameters);

            Assert.IsNotNull(viewModel.Movements);
        }
Пример #4
0
        public void FilterParametersConsequentDates()
        {
            FinanceMovementFilterParameters parameters = new FinanceMovementFilterParameters();

            parameters.DateFrom = new DateTime(2021, 8, 15);
            parameters.DateTo   = new DateTime(2021, 8, 1);

            Assert.IsTrue(parameters.DateFrom <= parameters.DateTo);

            parameters.DateFrom = new DateTime(2022, 10, 20);

            Assert.IsTrue(parameters.DateFrom <= parameters.DateTo);
        }