136 lines
7.3 KiB
C#
136 lines
7.3 KiB
C#
using _0_Framework.Application;
|
|
using CompanyManagment.App.Contracts.Workshop;
|
|
using System.Collections.Generic;
|
|
using System.Threading.Tasks;
|
|
using CompanyManagment.Application;
|
|
|
|
namespace CompanyManagment.App.Contracts.EmployeeDocuments
|
|
{
|
|
public interface IEmployeeDocumentsApplication
|
|
{
|
|
OperationResult AddEmployeeDocumentItemForClient(AddEmployeeDocumentItem command);
|
|
|
|
OperationResult AddEmployeeDocumentItemForAdmin(AddEmployeeDocumentItem command);
|
|
|
|
OperationResult AddRangeEmployeeDocumentItemsByClient(long workshopId, long employeeId,
|
|
List<AddEmployeeDocumentItem> command);
|
|
|
|
/// <summary>
|
|
/// unsubmitted دریافت جزییات مدارک پرسنل به همراه مدارک
|
|
/// </summary>
|
|
EmployeeDocumentsViewModel GetDetailsForClient(long employeeId, long workshopId);
|
|
|
|
/// <summary>
|
|
/// unsubmitted دریافت جزییات مدارک پرسنل بدون مدارک
|
|
/// </summary>
|
|
EmployeeDocumentsViewModel GetDetailsForAdmin(long employeeId, long workshopId);
|
|
|
|
List<EmployeeDocumentsViewModel> SearchForClient(SearchEmployeeDocuments cmd, EmployeeDocumentSearchMode mode);
|
|
|
|
OperationResult RemoveClientDocumentItemsByAdmin(long workshopId, long employeeId, List<DocumentItemLabel> label);
|
|
|
|
OperationResult SubmitDocumentItemsByClient(SubmitEmployeeDocuments cmd);
|
|
OperationResult SubmitDocumentItemsByEmployeeIdWorkshopId(long employeeId, long workshopId);
|
|
List<EmployeeDocumentsViewModel> SearchForAdmin(SearchEmployeeDocuments cmd, EmployeeDocumentSearchMode mode);
|
|
EmployeeDocumentsViewModel GetDetailsForChecker(long employeeId, long workshopId);
|
|
OperationResult DeleteUnsubmittedDocument(long documentItemId);
|
|
OperationResult SubmitCheckerOperation(CheckerDocumentsOperation cmd);
|
|
OperationResult DeleteEmployeeMultipleUnsubmittedDocumentsByLabel(long workshopId, long employeeId, DocumentItemLabel label);
|
|
OperationResult DeleteUnsubmittedItems(long workshopId,long employeeId);
|
|
|
|
OperationResult RemoveClientDocumentItemsByAdminTemp(long workshopId, long employeeId, DocumentItemLabel labels);
|
|
List<WorkshopWithEmployeeDocumentsViewModel> GetWorkshopsWithUploadedDocumentsForChecker();
|
|
List<WorkshopWithEmployeeDocumentsViewModel> GetWorkshopsWithDocumentsAwaitingReviewForCheckerWorkFlow();
|
|
List<EmployeeDocumentsViewModel> GetByWorkshopIdWithItemsForChecker(long workshopId, bool confirmedOnly);
|
|
OperationResult SubmitDocumentItemsByAdmin(SubmitEmployeeDocuments cmd);
|
|
OperationResult SubmitDocumentItemsByAdminInWorkFlow(SubmitEmployeeDocuments cmd);
|
|
|
|
List<WorkshopWithEmployeeDocumentsViewModel> GetWorkshopDocumentsAwaitingUploadForAdminWorkFlow(List<long> workshops);
|
|
List<EmployeeDocumentsViewModel> GetByWorkshopIdWithItemsForAdminWorkFlow(long workshopId);
|
|
|
|
List<EmployeeDocumentsViewModel> GetDocumentsAwaitingReviewByWorkshopIdForCheckerWorkFlow(long workshopId);
|
|
Task<int> GetAdminWorkFlowCountForSubmittedAndRejectedDocuments(List<long> workshopIds);
|
|
Task<int> GetAdminWorkFlowCountForNewEmployees(List<long> workshopIds);
|
|
OperationResult RemoveByAdmin(long documentItemId);
|
|
Task<int> GetCheckerWorkFlowCount();
|
|
|
|
/// <summary>
|
|
/// برای افزودن یکباره مدارک در افزودن پرسنل توسط ادمین
|
|
/// </summary>
|
|
OperationResult AddRangeEmployeeDocumentItemsByAdmin(long workshopId, long employeeId,
|
|
List<AddEmployeeDocumentItem> command);
|
|
|
|
#region Mahan
|
|
/// <summary>
|
|
/// کارگاهی که افزودن پرسنل کرده اند. بر اساس نقش فیلتر میشوند
|
|
/// </summary>
|
|
/// <param name="workshops"></param>
|
|
/// <param name="roleId"></param>
|
|
/// <returns></returns>
|
|
Task<ICollection<WorkshopWithEmployeeDocumentsViewModel>> GetWorkshopDocumentCreatedEmployeeForAdmin(
|
|
List<long> workshops, long roleId);
|
|
|
|
/// <summary>
|
|
/// مدارک های برگشت خورده براساس دسترسی افراد و نقششان. یک مدرک برگشت خورده به تمامی کسانی که به آن کارگاه دسترسی دارند و تمامی کسانی که هم نقش آپلود کننده بوده اند نمایش داده میشود
|
|
/// </summary>
|
|
/// <param name="workshops"></param>
|
|
/// <param name="roleId"></param>
|
|
/// <returns></returns>
|
|
Task<ICollection<WorkshopWithEmployeeDocumentsViewModel>> GetWorkshopDocumentRejectedForAdmin(
|
|
List<long> workshops, long roleId);
|
|
|
|
/// <summary>
|
|
/// مدارک های برگشت خورده براساس دسترسی افراد و نقششان. یک مدرک برگشت خورده به تمامی کسانی که به آن کارگاه دسترسی دارند و تمامی کسانی که هم نقش آپلود کننده بوده اند نمایش داده میشود
|
|
/// </summary>
|
|
/// <param name="workshopId"></param>
|
|
/// <param name="roleId"></param>
|
|
/// <returns></returns>
|
|
Task<List<EmployeeDocumentsViewModel>> GetRejectedItemsByWorkshopIdAndRoleForAdminWorkFlow(long workshopId,
|
|
long roleId);
|
|
|
|
/// <summary>
|
|
/// کارگاه هایی که افزودن پرسنل کرده اند و مدارک آنها ناقص است
|
|
/// </summary>
|
|
/// <param name="workshops"></param>
|
|
/// <param name="roleId"></param>
|
|
/// <returns></returns>
|
|
Task<List<WorkshopWithEmployeeDocumentsViewModel>> GetCreatedEmployeesWorkshopDocumentForAdmin(
|
|
List<long> workshops, long roleId);
|
|
|
|
/// <summary>
|
|
/// پرسنلی که افزوده شده اند در کارگاه و آپلود مدارک آنها ناقص است
|
|
/// </summary>
|
|
/// <param name="workshopId"></param>
|
|
/// <returns></returns>
|
|
Task<List<EmployeeDocumentsViewModel>> GetCreatedEmployeesDocumentByWorkshopIdForAdmin(long workshopId);
|
|
|
|
/// <summary>
|
|
/// لیست کارگاه هایی که مدارک آپلود شده توسط کلاینت برگشت خورده است در کارپوشه ادمین
|
|
/// </summary>
|
|
/// <param name="workshops"></param>
|
|
/// <param name="roleId"></param>
|
|
/// <returns></returns>
|
|
Task<List<WorkshopWithEmployeeDocumentsViewModel>> GetClientRejectedDocumentWorkshopsForAdmin(
|
|
List<long> workshops, long roleId);
|
|
|
|
/// <summary>
|
|
/// مدارک های آپلود شده توسط کلاینت در کارگاه که برگشت خورده اند در کارپوشه ادمین
|
|
/// </summary>
|
|
/// <param name="workshopId"></param>
|
|
/// <returns></returns>
|
|
Task<List<EmployeeDocumentsViewModel>> GetClientRejectedDocumentByWorkshopIdForAdmin(long workshopId);
|
|
|
|
/// <summary>
|
|
/// مدارک های برگشت خورده برای کلاینت
|
|
/// </summary>
|
|
/// <param name="workshopId"></param>
|
|
/// <param name="accountId"></param>
|
|
/// <returns></returns>
|
|
Task<List<EmployeeDocumentsViewModel>> GetClientRejectedDocumentForClient(long workshopId, long accountId);
|
|
|
|
#endregion
|
|
EmployeeDocumentItemViewModel GetOneDocumentItemDetailsForAdmin(long employeeId, long workshopId,long documentItemId);
|
|
}
|
|
|
|
}
|