public static async Task <Guid?> CreateCronScheduleAsync(this IBatchScheduler scheduler, string cronExpression, string workflowId, Dictionary <string, object> parameters)
        {
            var scheduleId = Guid.NewGuid();
            var item       = new BatchedItem
            {
                SiteId     = Context.CurrentConfiguration.SiteId.Value,
                Parameters = parameters
            };
            var batch = new BatchedParameter
            {
                Tenant         = Context.CurrentConfiguration.Tenant,
                ScheduleId     = scheduleId,
                WorkflowId     = workflowId,
                CronExpression = cronExpression,
                CronTimeZone   = "UTC",
                Items          = new List <BatchedItem> {
                    item
                }
            };
            var result = await scheduler.ScheduleBatchedExecutionAsync(batch);

            return(result ? (Guid?)scheduleId : null);
        }