* Added TaskSchedulerDetails
This commit is contained in:
@@ -8,7 +8,7 @@
|
|||||||
<br />
|
<br />
|
||||||
<SfGrid DataSource="@Tasks" AllowPaging="true" ShowColumnMenu="true" Toolbar="@(new List<string> { "Add", "Edit", "Delete", "Cancel", "Update" })">
|
<SfGrid DataSource="@Tasks" AllowPaging="true" ShowColumnMenu="true" Toolbar="@(new List<string> { "Add", "Edit", "Delete", "Cancel", "Update" })">
|
||||||
<GridColumns>
|
<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.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>
|
||||||
@@ -55,13 +55,14 @@
|
|||||||
|
|
||||||
private async Task OnActionComplete(ActionEventArgs<TaskSchedulerDto> args)
|
private async Task OnActionComplete(ActionEventArgs<TaskSchedulerDto> args)
|
||||||
{
|
{
|
||||||
if (args.RequestType.Equals(Action.Delete))
|
switch (args.RequestType)
|
||||||
{
|
{
|
||||||
|
case Action.Delete:
|
||||||
await LoadTasks();
|
await LoadTasks();
|
||||||
}
|
break;
|
||||||
else if (args.RequestType.Equals(Action.Save) && args.Data.Id == 0)
|
case Action.Save when args.Data.Id == 0:
|
||||||
{
|
|
||||||
await AddTask(args.Data);
|
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 Hangfire.Storage;
|
||||||
|
using OrdersManagementDataModel.Entities;
|
||||||
|
|
||||||
namespace OrdersManagementDataModel.Dtos;
|
namespace OrdersManagementDataModel.Dtos;
|
||||||
|
|
||||||
@@ -14,4 +15,6 @@ public class TaskSchedulerDto
|
|||||||
public DateTime? ActiveUntil { get; set; }
|
public DateTime? ActiveUntil { get; set; }
|
||||||
public DateTime? LastExecution { get; set; }
|
public DateTime? LastExecution { get; set; }
|
||||||
public DateTime? NextExecution { 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 CreateDate { get; set; }
|
||||||
public DateTime ActiveFrom { get; set; }
|
public DateTime ActiveFrom { get; set; }
|
||||||
public DateTime? ActiveUntil { 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 AutoMapper;
|
||||||
using OrdersManagementDataModel.Dtos;
|
using OrdersManagementDataModel.Dtos;
|
||||||
|
using OrdersManagementDataModel.Entities;
|
||||||
|
using TaskScheduler = OrdersManagementDataModel.Entities.TaskScheduler;
|
||||||
|
|
||||||
namespace OrdersManagementDataModel;
|
namespace OrdersManagementDataModel;
|
||||||
|
|
||||||
@@ -8,5 +10,6 @@ public class MappingProfile : Profile
|
|||||||
public MappingProfile()
|
public MappingProfile()
|
||||||
{
|
{
|
||||||
CreateMap<TaskScheduler, TaskSchedulerDto>().ReverseMap();
|
CreateMap<TaskScheduler, TaskSchedulerDto>().ReverseMap();
|
||||||
|
CreateMap<TaskSchedulerDetail, TaskSchedulerDetailDto>().ReverseMap();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
using Microsoft.EntityFrameworkCore;
|
using Microsoft.EntityFrameworkCore;
|
||||||
using Microsoft.Extensions.Configuration;
|
using Microsoft.Extensions.Configuration;
|
||||||
|
using OrdersManagementDataModel.Entities;
|
||||||
using TaskScheduler = OrdersManagementDataModel.Entities.TaskScheduler;
|
using TaskScheduler = OrdersManagementDataModel.Entities.TaskScheduler;
|
||||||
|
|
||||||
namespace OrdersManagementDataModel;
|
namespace OrdersManagementDataModel;
|
||||||
@@ -33,6 +34,37 @@ public class OrdersManagementDbContext : DbContext
|
|||||||
entity.Property(e => e.RowPointer).HasDefaultValueSql("newid()");
|
entity.Property(e => e.RowPointer).HasDefaultValueSql("newid()");
|
||||||
entity.Property(e => e.CreateDate).HasDefaultValueSql("getdate()");
|
entity.Property(e => e.CreateDate).HasDefaultValueSql("getdate()");
|
||||||
entity.Property(e => e.ActiveFrom).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);
|
context.TaskSchedulers.Remove(taskScheduler);
|
||||||
return await context.SaveChangesAsync();
|
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