using Data.SeaHavenIndustries; using Microsoft.EntityFrameworkCore; using SeaHaven.DataServices.Interfaces; namespace SeaHaven.DataServices.Implementation { public class WorkOrderMediaDataService : IWorkOrderMediaDataService { private readonly ApplicationDbContext _context; public WorkOrderMediaDataService(ApplicationDbContext context) { _context = context; } public Task GetTrackedWorkOrderAsync(int workOrderId, CancellationToken cancellationToken) => _context.workOrders.FirstOrDefaultAsync(w => w.Id == workOrderId, cancellationToken); public Task GetTrackedAttachmentAsync(int mediaId, int workOrderId, CancellationToken cancellationToken) => _context.workOrderAttachments.FirstOrDefaultAsync( a => a.Id == mediaId && a.WorkorderId == workOrderId && a.IsDeleted != true, cancellationToken); public void TrackAttachment(WorkOrderAttachments attachment) => _context.workOrderAttachments.Add(attachment); public Task SaveAsync(CancellationToken cancellationToken) => _context.SaveChangesAsync(cancellationToken); } }