* Added TaskSchedulerDetails

This commit is contained in:
2025-02-17 06:30:39 +01:00
parent db06837ce9
commit 3767bed896
8 changed files with 84 additions and 8 deletions

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

View File

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

View File

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

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

View File

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

View File

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

View File

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