@namespace Oqtane.Modules.Admin.Jobs @inherits ModuleBase @inject NavigationManager NavigationManager @inject IJobService JobService
Cancel @code { public override SecurityAccessLevel SecurityAccessLevel { get { return SecurityAccessLevel.Host; } } string _name = ""; string _jobType = ""; string _isEnabled = "True"; string _interval = ""; string _frequency = ""; string _startDate = ""; string _endDate = ""; string _retentionHistory = "10"; private async Task SaveJob() { if (_name != "" && !string.IsNullOrEmpty(_jobType) && _frequency != "" && _interval != "" && _retentionHistory != "") { Job job = new Job(); job.Name = _name; job.JobType = _jobType; job.IsEnabled = Boolean.Parse(_isEnabled); job.Frequency = _frequency; job.Interval = int.Parse(_interval); if (_startDate == "") { job.StartDate = null; } else { job.StartDate = DateTime.Parse(_startDate); } if (_endDate == "") { job.EndDate = null; } else { job.EndDate = DateTime.Parse(_endDate); } job.RetentionHistory = int.Parse(_retentionHistory); job.IsStarted = false; job.IsExecuting = false; job.NextExecution = null; try { job = await JobService.AddJobAsync(job); await logger.LogInformation("Job Added {Job}", job); NavigationManager.NavigateTo(NavigateUrl()); } catch (Exception ex) { await logger.LogError(ex, "Error Adding Job {Job} {Error}", job, ex.Message); AddModuleMessage("Error Adding Job", MessageType.Error); } } else { AddModuleMessage("You Must Provide The Job Name, Type, Frequency, and Retention", MessageType.Warning); } } }