Files
Backend-Api/CompanyManagment.App.Contracts/EmployeeDocuments/IEmployeeDocumentsApplication.cs
2025-02-18 16:16:33 +03:30

59 lines
3.2 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 AddRangeEmployeeDocumentItems(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);
int GetAdminWorkFlowCountForSubmittedAndRejectedDocuments(List<long> workshopIds);
//int GetAdminWorkFlowCountForNewEmployees(List<long> workshopIds);
OperationResult RemoveByAdmin(long documentItemId);
int GetCheckerWorkFlowCount();
}
}