* Created AzureDataModel

* Created Hangfire API
This commit is contained in:
2025-02-12 20:29:10 +01:00
parent 6800781fdb
commit e7342abadd
16 changed files with 414 additions and 0 deletions

View File

@@ -0,0 +1,8 @@
using AzureDataModel.Dtos;
namespace AzureDataModel.Services;
public interface ITaskSchedulerService
{
Task<IEnumerable<TaskSchedulerDto>> GetTaskSchedulers();
}

View File

@@ -0,0 +1,53 @@
using AutoMapper;
using AzureDataModel.Dtos;
using Microsoft.EntityFrameworkCore;
using TaskScheduler = AzureDataModel.Entities.TaskScheduler;
namespace AzureDataModel.Services;
public class TaskSchedulerService(AzureDbContext context, IMapper mapper) : ITaskSchedulerService
{
public async Task<IEnumerable<TaskSchedulerDto>> GetTaskSchedulers()
{
return await context.TaskSchedulers.Select(x => mapper.Map<TaskSchedulerDto>(x)).ToListAsync();
}
public async Task<TaskSchedulerDto?> GetTaskSchedulerById(Guid id)
{
TaskSchedulerDto? taskScheduler = await context.TaskSchedulers.Where(x => x.RowPointer == id)
.Select(x => mapper.Map<TaskSchedulerDto>(x)).FirstOrDefaultAsync();
return taskScheduler;
}
public async Task<TaskSchedulerDto?> GetTaskSchedulerByTaskName(string taskName)
{
TaskSchedulerDto? taskScheduler = await context.TaskSchedulers.Where(x => x.Name == taskName)
.Select(x => mapper.Map<TaskSchedulerDto>(x)).FirstOrDefaultAsync();
return taskScheduler;
}
public async Task<int> AddTaskScheduler(TaskSchedulerDto taskSchedulerDto)
{
TaskScheduler taskScheduler = mapper.Map<TaskScheduler>(taskSchedulerDto);
context.TaskSchedulers.Add(taskScheduler);
return await context.SaveChangesAsync();
}
public async Task<int> UpdateTaskScheduler(TaskSchedulerDto taskSchedulerDto)
{
TaskScheduler taskScheduler = mapper.Map<TaskScheduler>(taskSchedulerDto);
context.TaskSchedulers.Update(taskScheduler);
return await context.SaveChangesAsync();
}
public async Task<int> DeleteTaskScheduler(Guid id)
{
TaskScheduler? taskScheduler =
await context.TaskSchedulers.Where(x => x.RowPointer == id).FirstOrDefaultAsync() ?? null;
if (taskScheduler == null) return 0;
context.TaskSchedulers.Remove(taskScheduler);
return await context.SaveChangesAsync();
}
}