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); }
public static IncomeUser MapSubmit(this IncomeUser incomeUser, IncomeUser i) { incomeUser.PaymentFrequency = i.PaymentFrequency; incomeUser.Date = i.Date; return(incomeUser); }
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); }