using ECPDAL.Meeting.DTOs; using GB5Shared.DTO.Framework.Login; namespace ECPBLL.Meeting.Interfaces; /// /// The Meeting "Action Items" tab — a thin ECP-facing wrapper over the existing shared TTASK /// entity (CRMBLL.Task.ITaskBLL), per the ECP preview's own framing: "the same underlying task /// record used across GB5, not an ECP-only checklist." Every CRM-only field is defaulted by the /// implementation and never exposed on this interface's DTOs. /// public interface IMeetingActionItemBLL { Task GetMeetingActionItemAsync(int taskId, LoginDTO login, CancellationToken ct); Task GetMeetingActionItemListAsync(int meetingId, LoginDTO login, CancellationToken ct); Task SaveMeetingActionItemAsync(SaveMeetingActionItemDTO dto, LoginDTO login, CancellationToken ct); Task DeleteMeetingActionItemAsync(int taskId, LoginDTO login, CancellationToken ct); /// Candidate parent tasks for WBS nesting, scoped to one meeting's action items. /// (Assignee selection reuses the existing user picker, not a Task-specific one.) Task GetSelectListMeetingActionItemAsync(int meetingId, LoginDTO login, CancellationToken ct); /// Updates DueDate only. TTASK has no revision-history/audit-trail column for date /// changes — the reschedule reason is recorded via EventLogPublish only, not persisted on the /// task row itself (see the type's doc-comment for why "Revised" badges in the ECP preview /// can't be reconstructed from TTASK alone). Task RescheduleMeetingActionItemAsync(RescheduleMeetingActionItemDTO dto, LoginDTO login, CancellationToken ct); }