using System; using System.Collections.Generic; using System.Data.Common; using System.Linq; using System.Text; using System.Threading.Tasks; using CRMDAL.DTO.Task; using GB5Shared.DTO.Framework.Criteria; using GB5Shared.DTO.Framework.Login; namespace CRMDAL.CustomCode.Task { public interface ITaskDAL { Task GetSelectListTask(int FirstNumber, int MaxResult, CriteriaDTO criteriaDTO, LoginDTO LoginDTO, bool IsCount = false); Task GetTask(int TaskId, LoginDTO LoginDTO); Task SaveTask(TaskDTO TaskDTO, LoginDTO LoginDTO, DbTransaction DbTransaction); Task UpdateTask(TaskDTO TaskDTO, LoginDTO LoginDTO, DbTransaction DbTransaction); Task> GetParentTaskPlannedHours(int ParentTaskId, LoginDTO LoginDTO); Task> GetTaskListOnActivity(CriteriaDTO CriteriaDTO, LoginDTO LoginDTO); Task DeleteTask(int TaskId, LoginDTO LoginDTO, DbTransaction? dbTransaction = null); Task GetTaskReport(int FirstNumber, int MaxResult, CriteriaDTO CriteriaDTO, LoginDTO LoginDTO, bool IsCount = false); Task GetWorkBench(int FirstNumber, int MaxResult, CriteriaDTO CriteriaDTO, LoginDTO LoginDTO, bool Count = false); Task UpdateTaskData(List TaskDTOs, LoginDTO LoginDTO); Task UpdateTaskDataSingle(TaskDTO TaskDTO, LoginDTO LoginDTO, DbTransaction? Transaction); System.Threading.Tasks.Task UpdateParentTaskDates(int ParentTaskId, DateOnly ChildPlanEndOn, DateOnly ChildDueOn, DateOnly ChildExpireOn, LoginDTO LoginDTO, DbTransaction? Transaction); System.Threading.Tasks.Task CascadeChildTaskStatus(int TaskId, byte TaskDetailType, byte TaskStatus, LoginDTO LoginDTO, DbTransaction? Transaction); System.Threading.Tasks.Task PostTaskComment(int CommentId, int TaskId, string? CommentText, LoginDTO LoginDTO, DbTransaction? Transaction); Task> GetMilestonePicklist(CriteriaDTO CriteriaDTO, LoginDTO LoginDTO); Task> GetHeadingPicklist(CriteriaDTO CriteriaDTO, LoginDTO LoginDTO); Task> GetRollupPicklist(CriteriaDTO CriteriaDTO, LoginDTO LoginDTO); Task> GetWorkPicklist(CriteriaDTO CriteriaDTO, LoginDTO LoginDTO); Task> GetParentPicklist(CriteriaDTO CriteriaDTO, LoginDTO LoginDTO); Task> GetTaskQuery(byte TaskType, CriteriaDTO CriteriaDTO, LoginDTO LoginDTO); Task GetBizTransactionTypeForTaskGeneration(int BizTransactionClassId, LoginDTO LoginDTO); System.Threading.Tasks.Task UpdateAssetActivityLastGeneratedTill(int AssetActivityId, DateOnly LastGeneratedTill, LoginDTO LoginDTO); } }