Exemple #1
0
        private Proto.ReminderEntry EntryToProto(Reminder.Entry entry)
        {
            var proto = new Proto.ReminderEntry
            {
                TaskId      = entry.TaskId,
                Recipient   = ActorPathToProto(entry.Recipient),
                Payload     = MessageToProto(entry.Message),
                TriggerDate = entry.TriggerDateUtc.Ticks
            };

            if (entry.RepeatInterval.HasValue)
            {
                proto.RepeatInterval = entry.RepeatInterval.Value.Ticks;
            }

            return(proto);
        }
Exemple #2
0
        private Proto.ReminderEntry EntryToProto(Reminder.Schedule schedule)
        {
            var proto = new Proto.ReminderEntry
            {
                TaskId      = schedule.TaskId,
                Recipient   = ActorPathToProto(schedule.Recipient),
                Payload     = MessageToProto(schedule.Message),
                TriggerDate = schedule.TriggerDateUtc.Ticks
            };

            switch (schedule)
            {
            case Reminder.ScheduleRepeatedly repeat:
                proto.RepeatInterval = repeat.RepeatInterval.Ticks;
                break;

            case Reminder.ScheduleCron cron:
                proto.CronExpression = cron.CronExpression;
                break;
            }
            return(proto);
        }