BudgetAnalyser.Engine.Widgets.SurprisePaymentWidget.CalculateNextPaymentDate C# (CSharp) Метод

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

private CalculateNextPaymentDate ( PaymentDate paymentDate ) : PaymentDate
paymentDate PaymentDate
Результат PaymentDate
        private PaymentDate CalculateNextPaymentDate(PaymentDate paymentDate)
        {
            var proposedDate = new PaymentDate(paymentDate.ScheduledDate.AddDays(7 * this.multiplier));
            if (this.filter.BeginDate != null)
            {
                List<DateTime> holidays =
                    NewZealandPublicHolidays.CalculateHolidays(this.filter.BeginDate.Value,
                        this.filter.BeginDate.Value.AddYears(1)).ToList();
                while (holidays.Contains(proposedDate.Date))
                {
                    proposedDate.Date = proposedDate.Date.AddDays(1);
                    proposedDate.Date = proposedDate.Date.FindNextWeekday();
                }
            }

            if (proposedDate.Date != proposedDate.ScheduledDate)
            {
                this.diagLogger.LogInfo(
                    l => l.Format("    {0} is a holiday, moved to {1}", proposedDate.ScheduledDate, proposedDate.Date));
            }
            return proposedDate;
        }