BudgetAnalyser.Statement.StatementControllerNavigation.NavigateToTransactionOutsideOfFilter C# (CSharp) Метод

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

private NavigateToTransactionOutsideOfFilter ( System.Guid transactionId ) : bool
transactionId System.Guid
Результат bool
        private bool NavigateToTransactionOutsideOfFilter(Guid transactionId)
        {
            Transaction foundTransaction = ViewModel.Statement.AllTransactions.FirstOrDefault(t => t.Id == transactionId);
            if (foundTransaction != null)
            {
                bool? result = this.questionBox.Show("The transaction falls outside the current filter. Do you wish to adjust the filter to show the transaction?", "Navigate to Transaction");
                if (result == null || !result.Value)
                {
                    return false;
                }

                GlobalFilterCriteria newCriteria;
                var requestCurrentFilter = new RequestFilterMessage(this);
                MessengerInstance.Send(requestCurrentFilter);

                if (foundTransaction.Date < requestCurrentFilter.Criteria.BeginDate)
                {
                    newCriteria = new GlobalFilterCriteria { BeginDate = foundTransaction.Date, EndDate = requestCurrentFilter.Criteria.EndDate };
                }
                else
                {
                    newCriteria = new GlobalFilterCriteria { BeginDate = requestCurrentFilter.Criteria.BeginDate, EndDate = foundTransaction.Date };
                }

                MessengerInstance.Send(new RequestFilterChangeMessage(this) { Criteria = newCriteria });

                return NavigateToVisibleTransaction(transactionId);
            }

            return false;
        }