* 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();
|
var tasks = await service.GetTaskSchedulers();
|
||||||
|
|
||||||
// foreach (TaskSchedulerDto taskSchedulerDto in tasks)
|
foreach (TaskSchedulerDto taskSchedulerDto in tasks)
|
||||||
// {
|
{
|
||||||
// taskSchedulerDto.JobDetails = GetJob(taskSchedulerDto.Name);
|
var job = GetJob(taskSchedulerDto.Name);
|
||||||
// }
|
taskSchedulerDto.LastExecution = job?.LastExecution;
|
||||||
|
taskSchedulerDto.NextExecution = job?.NextExecution;
|
||||||
|
}
|
||||||
|
|
||||||
return Ok(tasks);
|
return Ok(tasks);
|
||||||
}
|
}
|
||||||
|
|
||||||
private JobData? GetJob(string jobId)
|
private RecurringJobDto? GetJob(string jobId)
|
||||||
{
|
{
|
||||||
using IStorageConnection? connection = jobStorage.GetConnection();
|
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
|
try
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ public class ScheduleJobService(IEmailService emailService, IServiceScopeFactory
|
|||||||
using var scope = scopeFactory.CreateScope();
|
using var scope = scopeFactory.CreateScope();
|
||||||
IEdiCustomerOrderService ediCustomerOrderService = scope.ServiceProvider.GetRequiredService<IEdiCustomerOrderService>();
|
IEdiCustomerOrderService ediCustomerOrderService = scope.ServiceProvider.GetRequiredService<IEdiCustomerOrderService>();
|
||||||
IEnumerable<EdiCustomerOrderTranslateDto> missingOrders =
|
IEnumerable<EdiCustomerOrderTranslateDto> missingOrders =
|
||||||
(await ediCustomerOrderService.FindMissingOrders(new DateTime(2025, 2, 5))).ToList();
|
(await ediCustomerOrderService.FindMissingOrders(DateTime.Now.AddDays(-1))).ToList();
|
||||||
|
|
||||||
if (missingOrders.Any())
|
if (missingOrders.Any())
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -3,24 +3,28 @@
|
|||||||
@using Syncfusion.Blazor.Grids
|
@using Syncfusion.Blazor.Grids
|
||||||
@using Syncfusion.Blazor.Inputs
|
@using Syncfusion.Blazor.Inputs
|
||||||
@using Syncfusion.Blazor.Buttons
|
@using Syncfusion.Blazor.Buttons
|
||||||
|
@using OrdersManagement.Components
|
||||||
@inject HangfireService HangfireService
|
@inject HangfireService HangfireService
|
||||||
|
|
||||||
<h3>Zarządzanie Zadaniami</h3>
|
<h3>Zarządzanie Zadaniami</h3>
|
||||||
|
<br />
|
||||||
<div>
|
<div id="wrapper">
|
||||||
<SfTextBox @bind-Value="NewTask.Name" Placeholder="Nazwa zadania"></SfTextBox>
|
<SfTextBox @bind-Value="NewTask.Name" Placeholder="Nazwa zadania"></SfTextBox>
|
||||||
<SfTextBox @bind-Value="NewTask.Path" Placeholder="Ścieżka do aplikacji"></SfTextBox>
|
<SfTextBox @bind-Value="NewTask.Path" Placeholder="Ścieżka do aplikacji"></SfTextBox>
|
||||||
<SfTextBox @bind-Value="NewTask.CronOptions" Placeholder="CRON"></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>
|
</div>
|
||||||
|
<br />
|
||||||
<SfGrid DataSource="@Tasks" AllowPaging="true">
|
<SfGrid DataSource="@Tasks" AllowPaging="true">
|
||||||
<GridColumns>
|
<GridColumns>
|
||||||
<GridColumn Field=@nameof(TaskSchedulerDto.Name) HeaderText="Nazwa"></GridColumn>
|
<GridColumn Field=@nameof(TaskSchedulerDto.Name) HeaderText="Nazwa"></GridColumn>
|
||||||
<GridColumn Field=@nameof(TaskSchedulerDto.Path) HeaderText="Ścieżka"></GridColumn>
|
<GridColumn Field=@nameof(TaskSchedulerDto.Path) HeaderText="Ścieżka"></GridColumn>
|
||||||
<GridColumn Field=@nameof(TaskSchedulerDto.CronOptions) HeaderText="CRON"></GridColumn>
|
<GridColumn Field=@nameof(TaskSchedulerDto.CronOptions) HeaderText="CRON"></GridColumn>
|
||||||
@* <GridColumn Field=@nameof(TaskSchedulerDto.LastExecution) HeaderText="Ostatnie Uruchomienie"></GridColumn> *@
|
<GridColumn Field=@nameof(TaskSchedulerDto.LastExecution) HeaderText="Ostatnie Uruchomienie"></GridColumn>
|
||||||
@* <GridColumn Field=@nameof(TaskSchedulerDto.NextExecution) HeaderText="Następne Uruchomienie"></GridColumn> *@
|
<GridColumn Field=@nameof(TaskSchedulerDto.NextExecution) HeaderText="Następne Uruchomienie"></GridColumn>
|
||||||
</GridColumns>
|
</GridColumns>
|
||||||
</SfGrid>
|
</SfGrid>
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,6 @@ public class TaskSchedulerDto
|
|||||||
public DateTime CreateDate { get; set; }
|
public DateTime CreateDate { get; set; }
|
||||||
public DateTime ActiveFrom { get; set; }
|
public DateTime ActiveFrom { get; set; }
|
||||||
public DateTime? ActiveUntil { get; set; }
|
public DateTime? ActiveUntil { get; set; }
|
||||||
|
public DateTime? LastExecution { get; set; }
|
||||||
public JobData? JobDetails { 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)
|
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);
|
context.TaskSchedulers.Add(taskScheduler);
|
||||||
return await context.SaveChangesAsync();
|
return await context.SaveChangesAsync();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user