public static int RecurringPaymentPeriod2Frequency(this BillingEnums.eBillingPeriodType type) { return(1); //TODO future logic for subscription planes //switch (type) //{ // case BillingEnums.eBillingPeriodType.DAY: // return 365; // case BillingEnums.eBillingPeriodType.WEEK: // return 52; // case BillingEnums.eBillingPeriodType.SEMIMONTH: // return 1; // case BillingEnums.eBillingPeriodType.MONTH: // return 1; // default: // return 1; //} }
public static DateTime?ToRentalEndDate(this BillingEnums.eBillingPeriodType periodType, short numberOfPeriods) { var localZone = TimeZone.CurrentTimeZone; var localTime = DateTime.Now; var utc = localZone.ToUniversalTime(localTime); switch (periodType) { case BillingEnums.eBillingPeriodType.HOUR: return(utc.AddHours(numberOfPeriods)); case BillingEnums.eBillingPeriodType.DAY: return(utc.AddDays(numberOfPeriods)); case BillingEnums.eBillingPeriodType.WEEK: return(utc.AddDays(numberOfPeriods * 7)); case BillingEnums.eBillingPeriodType.MONTH: return(utc.AddMonths(numberOfPeriods)); default: return(null); } }