BudgetAnalyser.Engine.Statement.StatementModel.Filter C# (CSharp) Метод

Filter() приватный Метод

private Filter ( GlobalFilterCriteria criteria ) : void
criteria GlobalFilterCriteria
Результат void
        internal virtual void Filter(GlobalFilterCriteria criteria)
        {
            ThrowIfDisposed();
            if (criteria == null)
            {
                this.changeHash = Guid.NewGuid();
                Transactions = AllTransactions.ToList();
                DurationInMonths = this.fullDuration;
                Filtered = false;
                return;
            }

            if (criteria.BeginDate > criteria.EndDate)
            {
                throw new ArgumentException("End date must be after the begin date.");
            }

            this.currentFilter = criteria;

            this.changeHash = Guid.NewGuid();
            if (criteria.Cleared)
            {
                Transactions = AllTransactions.ToList();
                DurationInMonths = this.fullDuration;
                Filtered = false;
                return;
            }

            IEnumerable<Transaction> query = BaseFilterQuery(criteria);

            Transactions = query.ToList();
            DurationInMonths = CalculateDuration(criteria, Transactions);
            this.duplicates = null;
            Filtered = true;
        }