Files
Backend-Api/Company.Domain/EmployeeDocumentsAgg/IEmployeeDocumentsRepository.cs
2025-03-08 21:49:34 +03:30

35 lines
1.9 KiB
C#

using System.Collections.Generic;
using System.IO;
using System.Threading.Tasks;
using _0_Framework.Domain;
using Company.Domain.EmployeeDocumentItemAgg;
using CompanyManagment.App.Contracts.EmployeeDocuments;
using CompanyManagment.App.Contracts.Workshop;
namespace Company.Domain.EmployeeDocumentsAgg
{
public interface IEmployeeDocumentsRepository : IRepository<long, EmployeeDocuments>
{
EmployeeDocuments GetByEmployeeIdWorkshopId(long employeeId, long workshopId);
EmployeeDocumentsViewModel GetViewModelByEmployeeIdWorkshopId(long employeeId, long workshopId);
List<EmployeeDocumentsViewModel> SearchForClient(SearchEmployeeDocuments cmd);
void AddRange(IEnumerable<EmployeeDocuments> entities);
EmployeeDocuments GetByIdWithItems(long employeeDocumentsId);
EmployeeDocuments GetByEmployeeIdWorkshopIdWithItems(long employeeId, long workshopId);
List<long> GetEmployeeIds(long workshopId);
List<WorkshopWithEmployeeDocumentsViewModel> GetWorkshopsWithUploadedDocuments();
List<EmployeeDocumentsViewModel> GetByWorkshopIdWithItemsForChecker(long workshopId, bool onlyConfirmed);
List<WorkshopWithEmployeeDocumentsViewModel> GetWorkshopsWithDocumentsAwaitingReviewForCheckerWorkFlow();
List<EmployeeDocumentsViewModel> SearchForAdmin(SearchEmployeeDocuments cmd);
List<WorkshopWithEmployeeDocumentsViewModel> GetWorkshopsWithDocumentsAwaitingReviewForAdminWorkFlow(List<long> workshops);
List<EmployeeDocumentsViewModel> GetByWorkshopIdWithItemsForAdminWorkFlow(long workshopId);
Task<int> GetCheckerWorkFlowCount();
Task<int> GetAdminWorkFlowCountForNewEmployees(List<long> workshopIds);
Task<int> GetAdminWorkFlowCountForSubmittedAndRejectedDocuments(List<long> workshopIds);
List<EmployeeDocumentsViewModel> GetDocumentsAwaitingReviewByWorkshopIdForCheckerWorkFlow(long workshopId);
}
}