using Data.SeaHavenIndustries.Enums; namespace SeaHaven.Services.Interfaces { public interface IWorkOrderAuditService { Task LogAsync( int workOrderId, AuditActionType action, AuditEventType eventType, AuditActorType actorType, string fieldName, string? oldValue, string? newValue, string? actorId = null, int? dispatchId = null, string? correlationId = null); Task LogStatusChangedAsync(int workOrderId, string? oldStatus, string? newStatus, string? actorId); Task LogAssignmentChangedAsync(int workOrderId, string? oldValue, string? newValue, string? actorId); Task LogSyncRejectedAsync(int workOrderId, string fieldName, string? oldValue, string? newValue); Task LogWeekRolledAsync(int workOrderId, int oldCarriedOver, int newCarriedOver, string correlationId); Task StageFieldChangedAsync(int workOrderId, string fieldName, string? oldValue, string? newValue, string? actorId, int? dispatchId = null); Task StageStatusChangedAsync(int workOrderId, string? oldStatus, string? newStatus, string? actorId); Task StageAssignmentChangedAsync(int workOrderId, string? oldValue, string? newValue, string? actorId); Task StageCreatedAsync(int workOrderId, string? actorId, string? woNumber); } }