* Added TaskSchedulerDetails
This commit is contained in:
@@ -8,7 +8,7 @@
|
||||
<br />
|
||||
<SfGrid DataSource="@Tasks" AllowPaging="true" ShowColumnMenu="true" Toolbar="@(new List<string> { "Add", "Edit", "Delete", "Cancel", "Update" })">
|
||||
<GridColumns>
|
||||
<GridColumn Field=@nameof(TaskSchedulerDto.RowPointer) IsPrimaryKey="true" HeaderText="Id"></GridColumn>
|
||||
<GridColumn Field=@nameof(TaskSchedulerDto.RowPointer.ToString) IsPrimaryKey="true" HeaderText="Id"></GridColumn>
|
||||
<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>
|
||||
@@ -55,13 +55,14 @@
|
||||
|
||||
private async Task OnActionComplete(ActionEventArgs<TaskSchedulerDto> args)
|
||||
{
|
||||
if (args.RequestType.Equals(Action.Delete))
|
||||
switch (args.RequestType)
|
||||
{
|
||||
case Action.Delete:
|
||||
await LoadTasks();
|
||||
}
|
||||
else if (args.RequestType.Equals(Action.Save) && args.Data.Id == 0)
|
||||
{
|
||||
break;
|
||||
case Action.Save when args.Data.Id == 0:
|
||||
await AddTask(args.Data);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
12
OrdersManagementDataModel/Dtos/TaskSchedulerDetailDto.cs
Normal file
12
OrdersManagementDataModel/Dtos/TaskSchedulerDetailDto.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
namespace OrdersManagementDataModel.Dtos;
|
||||
|
||||
public class TaskSchedulerDetailDto
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public Guid RowPointer { get; set; }
|
||||
public int FkTaskScheduler { get; set; }
|
||||
public DateTime JobRunDate { get; set; }
|
||||
public string Log { get; set; }
|
||||
|
||||
public TaskSchedulerDto TaskSchedulerDto { get; set; }
|
||||
}
|
||||
@@ -1,4 +1,5 @@
|
||||
using Hangfire.Storage;
|
||||
using OrdersManagementDataModel.Entities;
|
||||
|
||||
namespace OrdersManagementDataModel.Dtos;
|
||||
|
||||
@@ -14,4 +15,6 @@ public class TaskSchedulerDto
|
||||
public DateTime? ActiveUntil { get; set; }
|
||||
public DateTime? LastExecution { get; set; }
|
||||
public DateTime? NextExecution { get; set; }
|
||||
|
||||
public ICollection<TaskSchedulerDetailDto> TaskSchedulerDetails { get; set; } = new List<TaskSchedulerDetailDto>();
|
||||
}
|
||||
@@ -10,4 +10,6 @@ public class TaskScheduler
|
||||
public DateTime CreateDate { get; set; }
|
||||
public DateTime ActiveFrom { get; set; }
|
||||
public DateTime? ActiveUntil { get; set; }
|
||||
|
||||
public ICollection<TaskSchedulerDetail> TaskSchedulerDetails { get; set; } = new List<TaskSchedulerDetail>();
|
||||
}
|
||||
12
OrdersManagementDataModel/Entities/TaskSchedulerDetail.cs
Normal file
12
OrdersManagementDataModel/Entities/TaskSchedulerDetail.cs
Normal file
@@ -0,0 +1,12 @@
|
||||
namespace OrdersManagementDataModel.Entities;
|
||||
|
||||
public class TaskSchedulerDetail
|
||||
{
|
||||
public int Id { get; set; }
|
||||
public Guid RowPointer { get; set; }
|
||||
public int FkTaskScheduler { get; set; }
|
||||
public DateTime JobRunDate { get; set; }
|
||||
public string? Log { get; set; }
|
||||
|
||||
public virtual TaskScheduler? TaskScheduler { get; set; }
|
||||
}
|
||||
@@ -1,5 +1,7 @@
|
||||
using AutoMapper;
|
||||
using OrdersManagementDataModel.Dtos;
|
||||
using OrdersManagementDataModel.Entities;
|
||||
using TaskScheduler = OrdersManagementDataModel.Entities.TaskScheduler;
|
||||
|
||||
namespace OrdersManagementDataModel;
|
||||
|
||||
@@ -8,5 +10,6 @@ public class MappingProfile : Profile
|
||||
public MappingProfile()
|
||||
{
|
||||
CreateMap<TaskScheduler, TaskSchedulerDto>().ReverseMap();
|
||||
CreateMap<TaskSchedulerDetail, TaskSchedulerDetailDto>().ReverseMap();
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using OrdersManagementDataModel.Entities;
|
||||
using TaskScheduler = OrdersManagementDataModel.Entities.TaskScheduler;
|
||||
|
||||
namespace OrdersManagementDataModel;
|
||||
@@ -33,6 +34,37 @@ public class OrdersManagementDbContext : DbContext
|
||||
entity.Property(e => e.RowPointer).HasDefaultValueSql("newid()");
|
||||
entity.Property(e => e.CreateDate).HasDefaultValueSql("getdate()");
|
||||
entity.Property(e => e.ActiveFrom).HasDefaultValueSql("getdate()");
|
||||
entity.Property(e => e.ActiveUntil).IsRequired(false); });
|
||||
entity.Property(e => e.ActiveUntil).IsRequired(false);
|
||||
});
|
||||
|
||||
modelBuilder.Entity<TaskSchedulerDetail>(entity =>
|
||||
{
|
||||
entity.ToTable("TaskSchedulerDetails");
|
||||
|
||||
entity.HasKey(e => e.Id);
|
||||
|
||||
entity.Property(e => e.Id).ValueGeneratedOnAdd();
|
||||
|
||||
entity.Property(e => e.RowPointer)
|
||||
.HasColumnName("RowPointer")
|
||||
.HasColumnType("uniqueidentifier")
|
||||
.HasDefaultValueSql("newid()");
|
||||
|
||||
entity.Property(e => e.FkTaskScheduler)
|
||||
.HasColumnName("FkTaskScheduler");
|
||||
|
||||
entity.Property(e => e.JobRunDate)
|
||||
.HasColumnName("JobRunDate")
|
||||
.HasDefaultValueSql("getdate()");
|
||||
|
||||
entity.Property(e => e.Log)
|
||||
.HasColumnName("Log")
|
||||
.HasColumnType("text");
|
||||
|
||||
entity.HasOne(d => d.TaskScheduler)
|
||||
.WithMany(p => p.TaskSchedulerDetails)
|
||||
.HasForeignKey(d => d.FkTaskScheduler)
|
||||
.HasConstraintName("FK_TaskSchedulerDetails_TaskScheduler");
|
||||
});
|
||||
}
|
||||
}
|
||||
@@ -63,4 +63,15 @@ public class TaskSchedulerService(OrdersManagementDbContext context, IMapper map
|
||||
context.TaskSchedulers.Remove(taskScheduler);
|
||||
return await context.SaveChangesAsync();
|
||||
}
|
||||
|
||||
public async Task<IList<TaskSchedulerDetailDto>> GetTaskSchedulerDetails(Guid taskSchedulerId)
|
||||
{
|
||||
List<TaskSchedulerDetailDto> taskSchedulerDetails = await context.TaskSchedulers
|
||||
.Where(x => x.RowPointer == taskSchedulerId)
|
||||
.SelectMany(x => x.TaskSchedulerDetails)
|
||||
.Select(x => mapper.Map<TaskSchedulerDetailDto>(x))
|
||||
.ToListAsync();
|
||||
|
||||
return taskSchedulerDetails;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user