SenseNet.Messaging.LastProcessTime.GetNextTime C# (CSharp) Method

GetNextTime() static private method

static private GetNextTime ( NotificationFrequency freq, System.DateTime now ) : System.DateTime
freq NotificationFrequency
now System.DateTime
return System.DateTime
        internal static DateTime GetNextTime(NotificationFrequency freq, DateTime now)
        {
            switch (freq)
            {
                case NotificationFrequency.Immediately: return now;
                case NotificationFrequency.Daily: return GetNextDailyTimeWithoutOrigin(now);
                case NotificationFrequency.Weekly: return GetNextWeeklyTimeWithoutOrigin(now);
                case NotificationFrequency.Monthly: return GetNextMonthlyTimeWithoutOrigin(now);
                default: throw NotificationHandler.GetUnknownFrequencyException(freq);
            }
        }

Usage Example

示例#1
0
        internal static void TimerTick(DateTime now, NotificationFrequency freq)
        {
            switch (freq)
            {
            case NotificationFrequency.Immediately: if (!Configuration.ImmediatelyEnabled)
                {
                    return;
                }
                break;

            case NotificationFrequency.Daily: if (!Configuration.DailyEnabled)
                {
                    return;
                }
                break;

            case NotificationFrequency.Weekly: if (!Configuration.WeeklyEnabled)
                {
                    return;
                }
                break;

            case NotificationFrequency.Monthly: if (!Configuration.MonthlyEnabled)
                {
                    return;
                }
                break;

            default: throw GetUnknownFrequencyException(freq);
            }

            if (now >= LastProcessTime.GetNextTime(freq, now))
            {
                GenerateMessages(freq, now);
            }
        }