using Data.SeaHavenIndustries; namespace SeaHaven.DataServices.Interfaces { public interface IWorkOrderIngestDataService { Task GetMaxWorkOrderIdAsync(CancellationToken cancellationToken); Task GetTrackedByExternalIdAsync(string externalWorkOrderId, CancellationToken cancellationToken); void TrackWorkOrder(WorkOrder workOrder); Task FindLocationAsync(string name, CancellationToken cancellationToken); Task AddAndSaveLocationAsync(Locations location, CancellationToken cancellationToken); // Stages (does not save) the sync-attributed cancellation of the work order's pending // uplifts, each with its own audit row. See PendingUpliftCancellation. Task StageCancelPendingUpliftsAsync(int workOrderId, CancellationToken cancellationToken); Task ExecuteTransactionalAsync(Func work, CancellationToken cancellationToken); Task SaveAsync(CancellationToken cancellationToken); } }