Пример #1
0
        public static DateTime GetNextDate(this IncomeUser incomeUser, DateTime date)
        {
            switch (incomeUser.PaymentFrequency)
            {
            case PaymentFrequency.Weekly:
                date = date.AddDays(7);
                break;

            case PaymentFrequency.BiWeekly:
                date = date.AddDays(14);
                break;

            case PaymentFrequency.SemiMonthly:
                date = incomeUser.Date.AddMonths(1);
                break;

            case PaymentFrequency.Monthly:
                date = date.AddMonths(1);
                break;

            case PaymentFrequency.BiMonthly:
                date = date.AddMonths(2);
                break;

            case PaymentFrequency.SemiYearly:
                date = date.AddMonths(6);
                break;

            case PaymentFrequency.Yearly:
                date = date.AddYears(1);
                break;
            }
            return(date);
        }
Пример #2
0
        public static IncomeUser MapSubmit(this IncomeUser incomeUser, IncomeUser i)
        {
            incomeUser.PaymentFrequency = i.PaymentFrequency;
            incomeUser.Date             = i.Date;

            return(incomeUser);
        }
Пример #3
0
        public static IncomeUser Populate(this IncomeUser incomeUser, ApplicationUser user)
        {
            if (incomeUser.IncomeUserPayments != null && incomeUser.IncomeUserPayments.Any())
            {
                IncomeUserPayment lastPayment = incomeUser.IncomeUserPayments.OrderBy(x => x.Date).LastOrDefault();
                if (lastPayment != null)
                {
                    incomeUser.LastPaymentDate   = lastPayment.Date;
                    incomeUser.LastPaymentAmount = lastPayment.Amount;
                }
                incomeUser.MinYear = incomeUser.IncomeUserPayments.Min(x => x.Date.Year);
                incomeUser.MaxYear = incomeUser.IncomeUserPayments.Max(x => x.Date.Year);
            }

            double dueInDays = (incomeUser.Date - new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day)).TotalDays;
            bool   isPastDue = dueInDays < 0;

            incomeUser.DueIn   = GetDueIn(incomeUser.IsActive, isPastDue, dueInDays);
            incomeUser.Classes = GetClasses(incomeUser.IsActive, isPastDue, dueInDays);

            return(incomeUser);
        }