* Fixed New Task creation
* Change Scheduler view
This commit is contained in:
@@ -88,21 +88,24 @@ public class HangfireJobsController(JobStorage jobStorage, IRecurringJobManager
|
||||
{
|
||||
var tasks = await service.GetTaskSchedulers();
|
||||
|
||||
// foreach (TaskSchedulerDto taskSchedulerDto in tasks)
|
||||
// {
|
||||
// taskSchedulerDto.JobDetails = GetJob(taskSchedulerDto.Name);
|
||||
// }
|
||||
foreach (TaskSchedulerDto taskSchedulerDto in tasks)
|
||||
{
|
||||
var job = GetJob(taskSchedulerDto.Name);
|
||||
taskSchedulerDto.LastExecution = job?.LastExecution;
|
||||
taskSchedulerDto.NextExecution = job?.NextExecution;
|
||||
}
|
||||
|
||||
return Ok(tasks);
|
||||
}
|
||||
|
||||
private JobData? GetJob(string jobId)
|
||||
private RecurringJobDto? GetJob(string jobId)
|
||||
{
|
||||
using IStorageConnection? connection = jobStorage.GetConnection();
|
||||
return connection.GetJobData(jobId);
|
||||
IList<RecurringJobDto>? recurringJobs = connection.GetRecurringJobs();
|
||||
return recurringJobs.FirstOrDefault(x => x.Id == jobId);
|
||||
}
|
||||
|
||||
private void RunConsoleApplication(string pathToApp)
|
||||
public void RunConsoleApplication(string pathToApp)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
@@ -11,7 +11,7 @@ public class ScheduleJobService(IEmailService emailService, IServiceScopeFactory
|
||||
using var scope = scopeFactory.CreateScope();
|
||||
IEdiCustomerOrderService ediCustomerOrderService = scope.ServiceProvider.GetRequiredService<IEdiCustomerOrderService>();
|
||||
IEnumerable<EdiCustomerOrderTranslateDto> missingOrders =
|
||||
(await ediCustomerOrderService.FindMissingOrders(new DateTime(2025, 2, 5))).ToList();
|
||||
(await ediCustomerOrderService.FindMissingOrders(DateTime.Now.AddDays(-1))).ToList();
|
||||
|
||||
if (missingOrders.Any())
|
||||
{
|
||||
|
||||
@@ -3,24 +3,28 @@
|
||||
@using Syncfusion.Blazor.Grids
|
||||
@using Syncfusion.Blazor.Inputs
|
||||
@using Syncfusion.Blazor.Buttons
|
||||
@using OrdersManagement.Components
|
||||
@inject HangfireService HangfireService
|
||||
|
||||
<h3>Zarządzanie Zadaniami</h3>
|
||||
|
||||
<div>
|
||||
<br />
|
||||
<div id="wrapper">
|
||||
<SfTextBox @bind-Value="NewTask.Name" Placeholder="Nazwa zadania"></SfTextBox>
|
||||
<SfTextBox @bind-Value="NewTask.Path" Placeholder="Ścieżka do aplikacji"></SfTextBox>
|
||||
<SfTextBox @bind-Value="NewTask.CronOptions" Placeholder="CRON"></SfTextBox>
|
||||
<SfButton Content="Dodaj Zadanie" @onclick="AddTask"></SfButton>
|
||||
<br />
|
||||
<div>
|
||||
<SfButton Content="Dodaj Zadanie" @onclick="AddTask"></SfButton>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br />
|
||||
<SfGrid DataSource="@Tasks" AllowPaging="true">
|
||||
<GridColumns>
|
||||
<GridColumn Field=@nameof(TaskSchedulerDto.Name) HeaderText="Nazwa"></GridColumn>
|
||||
<GridColumn Field=@nameof(TaskSchedulerDto.Path) HeaderText="Ścieżka"></GridColumn>
|
||||
<GridColumn Field=@nameof(TaskSchedulerDto.CronOptions) HeaderText="CRON"></GridColumn>
|
||||
@* <GridColumn Field=@nameof(TaskSchedulerDto.LastExecution) HeaderText="Ostatnie Uruchomienie"></GridColumn> *@
|
||||
@* <GridColumn Field=@nameof(TaskSchedulerDto.NextExecution) HeaderText="Następne Uruchomienie"></GridColumn> *@
|
||||
<GridColumn Field=@nameof(TaskSchedulerDto.LastExecution) HeaderText="Ostatnie Uruchomienie"></GridColumn>
|
||||
<GridColumn Field=@nameof(TaskSchedulerDto.NextExecution) HeaderText="Następne Uruchomienie"></GridColumn>
|
||||
</GridColumns>
|
||||
</SfGrid>
|
||||
|
||||
|
||||
@@ -11,6 +11,6 @@ public class TaskSchedulerDto
|
||||
public DateTime CreateDate { get; set; }
|
||||
public DateTime ActiveFrom { get; set; }
|
||||
public DateTime? ActiveUntil { get; set; }
|
||||
|
||||
public JobData? JobDetails { get; set; }
|
||||
public DateTime? LastExecution { get; set; }
|
||||
public DateTime? NextExecution { get; set; }
|
||||
}
|
||||
@@ -32,7 +32,16 @@ public class TaskSchedulerService(OrdersManagementDbContext context, IMapper map
|
||||
|
||||
public async Task<int> AddTaskScheduler(TaskSchedulerDto taskSchedulerDto)
|
||||
{
|
||||
TaskScheduler taskScheduler = mapper.Map<TaskScheduler>(taskSchedulerDto);
|
||||
TaskScheduler taskScheduler = new TaskScheduler
|
||||
{
|
||||
Name = taskSchedulerDto.Name,
|
||||
Path = taskSchedulerDto.Path,
|
||||
RowPointer = Guid.NewGuid(),
|
||||
CronOptions = taskSchedulerDto.CronOptions,
|
||||
CreateDate = DateTime.Now,
|
||||
ActiveFrom = DateTime.Now
|
||||
};
|
||||
|
||||
context.TaskSchedulers.Add(taskScheduler);
|
||||
return await context.SaveChangesAsync();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user