using Hcs.WebApp.Data.Hcs; using Microsoft.EntityFrameworkCore; namespace Hcs.WebApp.Services { public class OperationService(IDbContextFactory factory) { private readonly IDbContextFactory factory = factory; public async Task HasActiveOperation(Operation.OperationType type) { using var context = factory.CreateDbContext(); return await context.Operations.AnyAsync(x => x.Type == type && !x.EndedAt.HasValue); } public async Task InitiateOperation(Operation.OperationType type, string initiatorId) { using var context = factory.CreateDbContext(); var operation = new Operation() { Type = type, InitiatorId = initiatorId, StartedAt = DateTime.UtcNow }; await context.Operations.AddAsync(operation); await context.SaveChangesAsync(); return operation; } } }