public async Task CanGetAllTasksAsync() { var tasks = await _scheduleTaskService.GetAllTasksAsync(); tasks.Count.Should().Be(4); tasks.Any(p => p.Enabled == false).Should().BeFalse(); tasks.Any(p => p.Id == _task.Id).Should().BeFalse(); tasks = await _scheduleTaskService.GetAllTasksAsync(true); tasks.Count.Should().Be(7); tasks.Any(p => p.Enabled).Should().BeTrue(); tasks.Any(p => p.Id == _task.Id).Should().BeTrue(); }
public async System.Threading.Tasks.Task TearDown() { var tasks = await _scheduleTaskService.GetAllTasksAsync(true); foreach (var task in tasks.Where(t => t.Type.Equals(_task.Type, StringComparison.InvariantCultureIgnoreCase))) { await _scheduleTaskService.DeleteTaskAsync(task); } }
/// <summary> /// Prepare paged schedule task list model /// </summary> /// <param name="searchModel">Schedule task search model</param> /// <returns>Schedule task list model</returns> public virtual async Task <ScheduleTaskListModel> PrepareScheduleTaskListModelAsync(ScheduleTaskSearchModel searchModel) { if (searchModel == null) { throw new ArgumentNullException(nameof(searchModel)); } //get schedule tasks var scheduleTasks = (await _scheduleTaskService.GetAllTasksAsync(true)).ToPagedList(searchModel); //prepare list model var model = await new ScheduleTaskListModel().PrepareToGridAsync(searchModel, scheduleTasks, () => { return(scheduleTasks.SelectAwait(async scheduleTask => { //fill in model values from the entity var scheduleTaskModel = scheduleTask.ToModel <ScheduleTaskModel>(); //convert dates to the user time if (scheduleTask.LastStartUtc.HasValue) { scheduleTaskModel.LastStartUtc = (await _dateTimeHelper .ConvertToUserTimeAsync(scheduleTask.LastStartUtc.Value, DateTimeKind.Utc)).ToString("G"); } if (scheduleTask.LastEndUtc.HasValue) { scheduleTaskModel.LastEndUtc = (await _dateTimeHelper .ConvertToUserTimeAsync(scheduleTask.LastEndUtc.Value, DateTimeKind.Utc)).ToString("G"); } if (scheduleTask.LastSuccessUtc.HasValue) { scheduleTaskModel.LastSuccessUtc = (await _dateTimeHelper .ConvertToUserTimeAsync(scheduleTask.LastSuccessUtc.Value, DateTimeKind.Utc)).ToString("G"); } return scheduleTaskModel; })); }); return(model); }
public async System.Threading.Tasks.Task <IDictionary <int, string> > GetCronTasksAsync() { return(await _staticCacheManager.GetAsync(new CacheKey(CronTasksCacheKey.CRON_TASKS_ALL_KEY), async() => { var result = new Dictionary <int, string>(); var cronExpressionGas = _genericAttributeRepository.Table .Where(ga => ga.KeyGroup == nameof(ScheduleTask) && !string.IsNullOrEmpty(ga.Value) && ga.Key == CronTasksDefaults.CronExpressionGenericAttributeKey) .ToList(); var scheduleTasks = (await _scheduleTaskService.GetAllTasksAsync(true)).Where(t => cronExpressionGas.Select(ga => ga.EntityId).Contains(t.Id)).ToList(); foreach (var scheduleTask in scheduleTasks) { string cronExpression = cronExpressionGas.First(ga => ga.EntityId == scheduleTask.Id).Value; result.Add(scheduleTask.Id, cronExpression); } return result; })); }
public async Task <IActionResult> Configure() { var settings = await _settingService.LoadSettingAsync <CronTasksSettings>( await _storeContext.GetActiveStoreScopeConfigurationAsync() ); var model = new CronTasksSettingsModel { ActiveStoreScopeConfiguration = await _storeContext.GetActiveStoreScopeConfigurationAsync() }; model.CronTaskSearchModel.SetGridPageSize(); foreach (var scheduleTask in await _scheduleTaskService.GetAllTasksAsync(true)) { model.CronTaskSearchModel.AddCronTaskModel.AvailableScheduleTasks.Add(new SelectListItem() { Text = scheduleTask.Name, Value = scheduleTask.Id.ToString() }); } return(View("~/Plugins/EllaSoftware.CronTasks/Views/Configure.cshtml", model)); }