Exemple #1
0
        public async Task RetryParticipationSyncRecurrently(
            CrmData data,
            Configurations requestWideSettings,
            CronEnum occurence,
            bool requestConsumerId = false)
        {
            var frequency = occurence.MapjobFrequency();

            await Task.Run(() => RecurringJob.AddOrUpdate <ICrmConsumerProvider>(
                               iCrmProvider =>
                               iCrmProvider.CreateParticipationAsync(
                                   data,
                                   requestWideSettings,
                                   requestConsumerId),
                               frequency));
        }
        private string MapjobFrequency(CronEnum occurence)
        {
            var frequency = Cron.Daily();

            switch (occurence)
            {
            case CronEnum.Daily:
                frequency = Cron.Daily();
                break;

            case CronEnum.Minutely:
                frequency = Cron.Minutely();
                break;

            case CronEnum.Hourly:
                frequency = Cron.Hourly();
                break;

            case CronEnum.Weekly:
                frequency = Cron.Weekly();
                break;

            case CronEnum.Monthly:
                frequency = Cron.Monthly();
                break;

            case CronEnum.Yearly:
                frequency = Cron.Yearly();
                break;

            default:
                break;
            }

            return(frequency);
        }