Files
Backend-Api/AccountManagement.Application.Contracts/Task/ITaskApplication.cs
2024-07-24 16:13:54 +03:30

54 lines
2.2 KiB
C#

using System.Collections.Generic;
using _0_Framework.Application;
using AccountManagement.Application.Contracts.Assign;
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> GetTasks(TaskSearchModel searchModel);
List<TaskViewModel> GetSelfTasks(TaskSearchModel searchModel);
List<TaskViewModel> GetAllNotSelfIncludedTasks(TaskSearchModel searchModel);
List<TaskViewModel> GetReceivedTasks(TaskSearchModel searchModel);
List<TaskViewModel> GetSentTasks(TaskSearchModel searchModel);
// گرفتن مهلت برای یک وظیفه
OperationResult CreateRequestTime(CreateTaskTimeRequest command);
//تایید مهلت وظیفه
OperationResult AcceptRequestDatetime(long taskId);
OperationResult RejectTimeRequest(long taskId);
//درخواست انصراف وظیفه
OperationResult CreateCancelRequest(CreateTaskCancel command);
//تایید اانصراف وظیفه
OperationResult AcceptCancelRequest(long taskId);
OperationResult RejectCancelRequest(long taskId);
OperationResult CreateCompleteTaskRequest(CompleteTaskViewModel command);
OperationResult AcceptCompleteRequest(long taskId);
OperationResult RejectCompleteRequest(long taskId);
OperationResult CreateTaskByPosition(CreateTask command, List<long> positionIds);
List<TaskViewModel> GetRequestedTasks(TaskSearchModel searchModel);
List<TaskViewModel> AllRequestedTasks(TaskSearchModel searchModel);
int GetRequestedTasksCount();
OperationResult ChangeRequestTimeAndAccept(string time,long taskId);
TaskViewModel GetRequestDetails(long id);
OperationResult UploadMedia(IFormFile mediaFile,long senderId);
OperationResult RemoveMedia(long mediaId);
void RemoveTempUploadedFiles(long userId);
}