Files
Backend-Api/AccountManagement.Domain/TaskAgg/ITaskRepository.cs
2025-04-07 19:44:22 +03:30

163 lines
4.8 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using _0_Framework.Application;
using _0_Framework.Domain;
using AccountManagement.Application.Contracts.Task;
using AccountManagement.Application.Contracts.TaskMessage;
using Microsoft.VisualBasic.CompilerServices;
namespace AccountManagement.Domain.TaskAgg;
public interface ITaskRepository:IRepository<long,Tasks>
{
/// <summary>
/// گرقتن اطلاعات تسک
/// </summary>
/// <param name="TaskId"></param>
/// <returns></returns>
EditTask GetDetails(long TaskId);
/// <summary>
/// گرفتن تسک با ارجاع ها
/// </summary>
/// <param name="taskId"></param>
/// <returns></returns>
Tasks GetIncludeAssign(long taskId);
/// <summary>
/// حذف تسک
/// </summary>
/// <param name="id"></param>
void Remove(long id);
/// <summary>
/// گرفتن تمامی وظایف
/// </summary>
/// <param name="searchModel"></param>
/// <returns></returns>
List<TaskViewModel> GetAllTasks(TaskSearchModel searchModel);
/// <summary>
/// گرفتن لیست تسک های درخواست داده شده. بدون تیکت
/// </summary>
/// <param name="searchModel"></param>
/// <returns></returns>
List<TaskViewModel> GetRequestedTasks(TaskSearchModel searchModel);
/// <summary>
/// لیست درخواست های تسک دارای تیکت
/// </summary>
/// <param name="searchModel"></param>
/// <returns></returns>
List<TaskViewModel> GetRequestTaskHasTicket(TaskSearchModel searchModel);
/// <summary>
/// گرفتن وظایف شخصی
/// </summary>
/// <param name="searchModel"></param>
/// <returns></returns>
List<TaskViewModel> GetSelfTasks(TaskSearchModel searchModel);
//List<TaskViewModel> GetAllNotSelfIncludedTasks(TaskSearchModel searchModel);
/// <summary>
/// لیست وظایف ارسالی
/// </summary>
/// <param name="searchModel"></param>
/// <returns></returns>
List<TaskViewModel> GetReceivedTasks(TaskSearchModel searchModel);
/// <summary>
/// لیست وظایف ارسالی
/// </summary>
/// <param name="searchModel"></param>
/// <returns></returns>
List<TaskViewModel> GetSentTasks(TaskSearchModel searchModel);
/// <summary>
/// همه لیست درخواست ها
/// </summary>
/// <param name="searchModel"></param>
/// <returns></returns>
List<TaskViewModel> AllRequestedTasks(TaskSearchModel searchModel);
/// <summary>
/// لیست تسک های دارا تیکت
/// </summary>
/// <param name="searchModel"></param>
/// <returns></returns>
List<TaskViewModel> GetTasksHaveTicket(TaskSearchModel searchModel);
/// <summary>
/// لیست تسک های دوره ای ایجاد شده توسط کاربر
/// </summary>
/// <param name="searchModel"></param>
/// <returns></returns>
List<TaskViewModel> GetTaskScheduleList(TaskSearchModel searchModel);
/// <summary>
/// تعداد تسک های درخواستی. بدون تیکت
/// </summary>
/// <returns></returns>
Task<int> GetRequestedTasksCount();
/// <summary>
/// گرفتن جزئیات درخواست وظیفه
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
EditTask GetRequestDetails(long id);
/// <summary>
/// گرفتن مسیر environment
/// </summary>
/// <returns></returns>
string GetWebEnvironmentPath();
/// <summary>
/// آیا تسک عقب افتاده ای دارد یا خیر
/// </summary>
/// <param name="userId"></param>
/// <returns></returns>
bool HasOverdueTasks(long userId);
/// <summary>
/// مجوع تعداد تسک های عقب افتاده و درخواستی
/// </summary>
/// <param name="userId"></param>
/// <returns></returns>
Task<int> RequestedAndOverdueTasksCount(long userId);
/// <summary>
/// تعداد تسک های دارای تیکت
/// </summary>
/// <param name="userId"></param>
/// <returns></returns>
Task<int> TasksHaveTicketCounts(long userId);
/// <summary>
/// تعداد درخواست های تسک های دارا تیکت
/// </summary>
/// <param name="userId"></param>
/// <returns></returns>
Task<int> TasksHaveTicketRequestsCount(long userId);
/// <summary>
/// تعداد تسک های شخصی و دریافتی برای امروز و یا عقب افتاده
/// </summary>
/// <param name="userId"></param>
/// <returns></returns>
Task<int> OverdueTasksCount(long userId);
// گرفتن پیام های مربوط به هر تسک
List<Tasks> GetTasksByTaskScheduleId(long taskScheduleId);
void RemoveRange(IEnumerable<Tasks> tasks);
}