* Fixed New Task creation

* Change Scheduler view
This commit is contained in:
2025-02-14 19:46:34 +01:00
parent c0fed5b3ec
commit d35955b461
5 changed files with 33 additions and 17 deletions

View File

@@ -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
{

View File

@@ -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())
{

View File

@@ -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>

View File

@@ -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; }
}

View File

@@ -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();
}