Files
Backend-Api/AccountManagement.Application.Contracts/Task/ITaskApplication.cs
2025-04-07 19:44:22 +03:30

85 lines
3.6 KiB
C#

using System.Collections.Generic;
using System.Threading.Tasks;
using _0_Framework.Application;
using AccountManagement.Application.Contracts.Assign;
using AccountManagement.Application.Contracts.TaskMessage;
using Microsoft.AspNetCore.Http;
namespace AccountManagement.Application.Contracts.Task;
public interface ITaskApplication
{
OperationResult DeActiveTask(long TaskId);
OperationResult RemoveTask(long TaskId);
OperationResult RemoveFile(long MediaId);
OperationResult Edit(EditTask command);
OperationResult CreateAssign(CreateAssign command);
OperationResult CreateTask(CreateTask command);
OperationResult CreateTaskByPosition(CreateTask command);
EditTask GetDetails(long taskId);
List<TaskViewModel> GetSelfTasks(TaskSearchModel searchModel);
List<TaskViewModel> GetAllTasks(TaskSearchModel searchModel);
//List<TaskViewModel> GetAllNotSelfIncludedTasks(TaskSearchModel searchModel);
List<TaskViewModel> GetReceivedTasks(TaskSearchModel searchModel);
List<TaskViewModel> GetSentTasks(TaskSearchModel searchModel);
List<TaskViewModel> GetTasksHaveTicket(TaskSearchModel searchModel);
/// <summary>
/// لیست تسک های دوره ای ایجاد شده توسط کاربر
/// </summary>
/// <param name="searchModel"></param>
/// <returns></returns>
List<TaskViewModel> GetTaskScheduleList(TaskSearchModel searchModel);
// گرفتن مهلت برای یک وظیفه
OperationResult CreateRequestTime(CreateTaskTimeRequest command);
List<TaskViewModel> GetRequestTaskHasTicket(TaskSearchModel searchModel);
//تایید مهلت وظیفه
OperationResult AcceptRequestDatetime(long taskId, long assignedId,string message);
OperationResult RejectTimeRequest(long taskId, long assignedId, string message);
//درخواست انصراف وظیفه
OperationResult CreateCancelRequest(CreateTaskCancel command);
//تایید اانصراف وظیفه
OperationResult AcceptCancelRequest(long taskId,long assignedId, string message);
OperationResult RejectCancelRequest(long taskId, long assignedId, string message);
OperationResult CreateCompleteTaskRequest(CompleteTaskViewModel command);
OperationResult AcceptCompleteRequest(long taskId, long assignedId, string message);
OperationResult RejectCompleteRequest(long taskId, long assignedId, string message);
OperationResult CreateTaskByPosition(CreateTask command, List<long> positionIds);
List<TaskViewModel> GetRequestedTasks(TaskSearchModel searchModel);
List<TaskViewModel> AllRequestedTasks(TaskSearchModel searchModel);
Task<int> GetRequestedTasksCount();
Task<int> TasksHaveTicketCounts(long userId);
Task<int> TasksHaveTicketRequestsCount(long userId);
List<TaskMessageViewModel> GetTaskMessages(long assignId);
OperationResult ChangeRequestTimeAndAccept(string time,long taskId,long assignedId, string message);
EditTask GetRequestDetails(long id);
OperationResult UploadMedia(IFormFile mediaFile, long senderId);
OperationResult RemoveMedia(long mediaId);
void RemoveTempUploadedFiles(long userId);
OperationResult SendTicketResponseInTask(long assignId,string message,long ticketId);
List<AssignViewModel> GetAssignsByTaskId(long taskId);
Task<int> RequestedAndOverdueTasksCount(long userId);
/// <summary>
/// تعداد تسک های شخصی و دریافتی برای امروز و یا عقب افتاده
/// </summary>
/// <param name="userId"></param>
/// <returns></returns>
Task<int> OverdueTasksCount(long userId);
}