private async Task <ExecutionResult <string> > ExecuteWithNoArgumentsAsync(Activity activity, CultureInfo clientCulture) { Logger.LogInformation("No arguments provided"); ScheduledMessageEvent nextEvent = await UnitOfWork.ScheduledMessageEvents.GetNextMessageEventAsync(activity.Conversation.Id); ExecutionResult <string> executionResult = nextEvent != null ? ExecuteWithMessageAndCount(nextEvent.ScheduledMessage, defaultMessageCount, clientCulture) : GetNoScheduledMessagesResult(); return(executionResult); }
private ExecutionResult <string> ExecuteWithMessage(ScheduledMessage message, CultureInfo clientCulture) { Logger.LogInformation("Executing with message id '{0}' default message count", message.Id); ScheduledMessageEvent nextEvent = message .Events .Where(@event => @event.State == ScheduledMessageEventState.Pending) .OrderBy(@event => @event.NextOccurrence) .FirstOrDefault(); ExecutionResult <string> executionResult = nextEvent != null ? ExecuteWithMessageAndCount(nextEvent.ScheduledMessage, defaultMessageCount, clientCulture) : GetNoScheduledMessagesResult(); return(executionResult); }
private async Task <ScheduledMessage> CreateScheduledMessageAsync(Activity activity, string text, ISchedule schedule) { ScheduledMessageEvent scheduledMessageEvent = CreateMessageEvent(schedule); ScheduledMessageDetails scheduledMessageDetails = await CreateMessageDetailsAsync(activity); return(new ScheduledMessage { Text = text, Schedule = schedule.Text, State = ScheduledMessageState.Active, Details = scheduledMessageDetails, Events = new List <ScheduledMessageEvent> { scheduledMessageEvent } }); }