diff --git a/OrdersManagement/Components/Pages/Admin/Scheduler.razor b/OrdersManagement/Components/Pages/Admin/Scheduler.razor
index 76162ea..eecb049 100644
--- a/OrdersManagement/Components/Pages/Admin/Scheduler.razor
+++ b/OrdersManagement/Components/Pages/Admin/Scheduler.razor
@@ -8,7 +8,7 @@
-
+
@@ -55,13 +55,14 @@
private async Task OnActionComplete(ActionEventArgs args)
{
- if (args.RequestType.Equals(Action.Delete))
+ switch (args.RequestType)
{
- await LoadTasks();
- }
- else if (args.RequestType.Equals(Action.Save) && args.Data.Id == 0)
- {
- await AddTask(args.Data);
+ case Action.Delete:
+ await LoadTasks();
+ break;
+ case Action.Save when args.Data.Id == 0:
+ await AddTask(args.Data);
+ break;
}
}
}
\ No newline at end of file
diff --git a/OrdersManagementDataModel/Dtos/TaskSchedulerDetailDto.cs b/OrdersManagementDataModel/Dtos/TaskSchedulerDetailDto.cs
new file mode 100644
index 0000000..482e0c0
--- /dev/null
+++ b/OrdersManagementDataModel/Dtos/TaskSchedulerDetailDto.cs
@@ -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; }
+}
\ No newline at end of file
diff --git a/OrdersManagementDataModel/Dtos/TaskSchedulerDto.cs b/OrdersManagementDataModel/Dtos/TaskSchedulerDto.cs
index 872ba00..a20f617 100644
--- a/OrdersManagementDataModel/Dtos/TaskSchedulerDto.cs
+++ b/OrdersManagementDataModel/Dtos/TaskSchedulerDto.cs
@@ -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 TaskSchedulerDetails { get; set; } = new List();
}
\ No newline at end of file
diff --git a/OrdersManagementDataModel/Entities/TaskScheduler.cs b/OrdersManagementDataModel/Entities/TaskScheduler.cs
index 08f9fe8..75fe475 100644
--- a/OrdersManagementDataModel/Entities/TaskScheduler.cs
+++ b/OrdersManagementDataModel/Entities/TaskScheduler.cs
@@ -10,4 +10,6 @@ public class TaskScheduler
public DateTime CreateDate { get; set; }
public DateTime ActiveFrom { get; set; }
public DateTime? ActiveUntil { get; set; }
+
+ public ICollection TaskSchedulerDetails { get; set; } = new List();
}
\ No newline at end of file
diff --git a/OrdersManagementDataModel/Entities/TaskSchedulerDetail.cs b/OrdersManagementDataModel/Entities/TaskSchedulerDetail.cs
new file mode 100644
index 0000000..9938371
--- /dev/null
+++ b/OrdersManagementDataModel/Entities/TaskSchedulerDetail.cs
@@ -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; }
+}
\ No newline at end of file
diff --git a/OrdersManagementDataModel/MappingProfile.cs b/OrdersManagementDataModel/MappingProfile.cs
index 2cd2810..b7cc21c 100644
--- a/OrdersManagementDataModel/MappingProfile.cs
+++ b/OrdersManagementDataModel/MappingProfile.cs
@@ -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().ReverseMap();
+ CreateMap().ReverseMap();
}
}
\ No newline at end of file
diff --git a/OrdersManagementDataModel/OrdersManagementDbContext.cs b/OrdersManagementDataModel/OrdersManagementDbContext.cs
index d3c0197..7dae08b 100644
--- a/OrdersManagementDataModel/OrdersManagementDbContext.cs
+++ b/OrdersManagementDataModel/OrdersManagementDbContext.cs
@@ -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(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");
+ });
}
}
\ No newline at end of file
diff --git a/OrdersManagementDataModel/Services/TaskSchedulerService.cs b/OrdersManagementDataModel/Services/TaskSchedulerService.cs
index 39d9389..33e4876 100644
--- a/OrdersManagementDataModel/Services/TaskSchedulerService.cs
+++ b/OrdersManagementDataModel/Services/TaskSchedulerService.cs
@@ -63,4 +63,15 @@ public class TaskSchedulerService(OrdersManagementDbContext context, IMapper map
context.TaskSchedulers.Remove(taskScheduler);
return await context.SaveChangesAsync();
}
+
+ public async Task> GetTaskSchedulerDetails(Guid taskSchedulerId)
+ {
+ List taskSchedulerDetails = await context.TaskSchedulers
+ .Where(x => x.RowPointer == taskSchedulerId)
+ .SelectMany(x => x.TaskSchedulerDetails)
+ .Select(x => mapper.Map(x))
+ .ToListAsync();
+
+ return taskSchedulerDetails;
+ }
}
\ No newline at end of file