namespace SeaHaven.Services.DTOs { public class DispatchVerificationException : Exception { public List Missing { get; } public DispatchVerificationException(List missing) : base("Cannot verify") { Missing = missing; } } public class DispatchToVendorInput { public List WorkOrderIds { get; set; } = new(); public List VendorIds { get; set; } = new(); public decimal? NTEAmount { get; set; } public string? Description { get; set; } public DateTime? ScheduledDate { get; set; } public int? TaskListTemplateId { get; set; } public List? CustomChecklistItems { get; set; } public string? UserId { get; set; } public string? SenderName { get; set; } } public class DispatchResultItem { public int Id { get; set; } public string? DispatchNumber { get; set; } public string? PONumber { get; set; } public string? VendorName { get; set; } public string? Status { get; set; } public int WorkOrderCount { get; set; } } public class DispatchToVendorResult { public string Message { get; set; } = ""; public List Dispatches { get; set; } = new(); } public class UpdateDispatchInput { public int Id { get; set; } public string? Status { get; set; } public decimal? NTEAmount { get; set; } public DateTime? ScheduledDate { get; set; } public DateTime? CompletedDate { get; set; } public string? Description { get; set; } public string? UserId { get; set; } } public class AddDispatchCommentInput { public int DispatchId { get; set; } public string? Text { get; set; } public bool SendEmail { get; set; } public string? UserId { get; set; } } public class AddDispatchCommentResult { public int Id { get; set; } public DateTime? CreatedDate { get; set; } public string? Commenttext { get; set; } public string? CommentType { get; set; } public string? UserName { get; set; } } public class AddDispatchSignoffInput { public int DispatchId { get; set; } public string? SignoffType { get; set; } public string? Name { get; set; } public string? Signature { get; set; } public string? SignatureMethod { get; set; } } public class AddDispatchSignoffResult { public int Id { get; set; } public string? SignoffType { get; set; } public string? Name { get; set; } public DateTime? SignedAt { get; set; } public string? SignatureMethod { get; set; } } public class VerifyDispatchResult { public string Message { get; set; } = ""; public string? VerifiedBy { get; set; } public DateTime? VerifiedAt { get; set; } } public class VerifyDispatchError { public string Status { get; set; } = "Error"; public string Message { get; set; } = ""; public List Missing { get; set; } = new(); } public class ChecklistItemUpdateInput { public int Id { get; set; } public bool IsCompleted { get; set; } public string? CompletedBy { get; set; } } public class ChecklistItemUpdateResult { public string Message { get; set; } = ""; public int Id { get; set; } public bool? IsCompleted { get; set; } public string? CompletedBy { get; set; } public DateTime? CompletedAt { get; set; } } public class AddChecklistItemInput { public int DispatchId { get; set; } public int? WorkOrderId { get; set; } public string? ItemText { get; set; } } public class AddChecklistItemResult { public int Id { get; set; } public string? ItemText { get; set; } public int? SortOrder { get; set; } public bool? IsCompleted { get; set; } } }