BudgetAnalyser.Statement.LoadFileController.CalculateSuggestedDateRange C# (CSharp) Метод

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

private CalculateSuggestedDateRange ( StatementModel currentStatement ) : void
currentStatement BudgetAnalyser.Engine.Statement.StatementModel
Результат void
        private void CalculateSuggestedDateRange(StatementModel currentStatement)
        {
            var lastTransactionDate = currentStatement.AllTransactions.Max(t => t.Date).Date.AddDays(1);
            var maxDate = DateTime.Today;
            if (maxDate.DayOfWeek == DayOfWeek.Monday)
            {
                // Monday is not an ideal day to end a date range as some banks may back date weekend transactions after Monday night processing.
                maxDate = maxDate.AddDays(-3); // Set to Friday.
            }
            else if (maxDate.DayOfWeek == DayOfWeek.Saturday)
            {
                // Weekends may have back dated transactions after Monday processing.
                maxDate = maxDate.AddDays(-1); // Set to Friday.
            }
            else if (maxDate.DayOfWeek == DayOfWeek.Sunday)
            {
                // Weekends may have back dated transactions after Monday processing.
                maxDate = maxDate.AddDays(-2);
            }
            else
            {
                // Any other day of the week just import up to yesterday.
                // Never import up to today. Sometimes today's transactions don't appear until tomorrow.
                maxDate = maxDate.AddDays(-1);
            }

            SuggestedDateRange = string.Format(CultureInfo.CurrentCulture, "{0:d} to {1:d}", lastTransactionDate, maxDate);
        }