using System; using System.Collections.Generic; using System.Linq; using System.Security.Cryptography; using System.Text; using System.Threading.Tasks; using _0_Framework.Application; using CompanyManagment.App.Contracts.Employee; namespace WorkFlow.Application.Contracts.AdminWorkFlow; public interface IAdminWorkFlowApplication { /// /// نمایش کارگاه های دارای مدارک بررسی نشده /// List GetWorkshopDocumentsAwaitingReviewForChecker(List workshops); List GetWorkshopsWithDocumentsAwaitingUploadForAdmin( List workshops); #region شروع به کار پرسنل افزوده شده /// /// لیست کارگاه هایی که از کلاینت، پرسنلی را شروع به کار زدند /// /// /// Task> GetWorkshopsForEmployeeStartWork(long accountId); /// /// تعداد کارگاه هایی که از کلاینت پرسنلی را شروع به کار زدند /// /// /// Task GetWorkshopsForEmployeeStartWorkCount(long accountId); /// /// لیست پرسنل هایی که از سمت کلاینت شروع به کار خوردند /// /// /// Task> GetClientEmployeesStartWork(long workshopId); /// /// اطلاعات پرسنل برای ویرایش در مودال ادمین آپلود مدارک در هنگام رد شدن مدرک توسط ناظر /// /// /// /// Task GetEmployeeEditInEmployeeDocumentWorkFlow(long employeeId, long workshopId); Task EditEmployeeInEmployeeDocumentWorkFlow(EditEmployeeInEmployeeDocument command); /// /// لیست کارگاه هایی که از کلاینت، پرسنلی را شروع به کار زدند و مدارک آنها کامل آپلود نشده است /// /// /// /// Task> GetWorkshopDocumentCreatedEmployeeForAdmin(List workshops, long roleId); #endregion Task GetEmployeeDocumentWorkFlowCountsForAdmin(List workshopIds, long roleId); Task GetWorkFlowCountsForAdmin(List workshopIds, long accountId, long roleId, List permissions); Task GetWorkFlowCountForChecker(); #region ترک کار موقت /// /// لیست کارگاه هایی که از کلاینت، پرسنلی را ترک کار زدند /// /// /// Task> GetWorkshopsForLeftWorkTemp(long accountId); /// /// لیست پرسنل هایی که از سمت کلاینت ترک کار موقت خوردند /// /// /// Task> GetEmployeesForLeftWorkTemp(long workshopId); Task GetWorkshopsForLeftWorkTempCount(long accountId); #endregion Task GetInstitutionContractWorkflowCount(); } /// /// پرسنل هایی که دارای ترک کار موقت هستند در کارپوشه ادمین /// public class ClientLeftWorkEmployeesWorkFlowViewModel { /// /// آیدی پرسنل /// public long EmployeeId { get; set; } /// /// آیدی کارگاه /// public long WorkshopId { get; set; } /// /// نام پرسنل /// public string EmployeeName { get; set; } = string.Empty; /// /// تاریخ ترک کار /// public string LeftWorkDate { get; set; } = string.Empty; } /// /// کارگاه هایی که پرسنل دارای ترک کار موقت دارند در کارپوشه ادمین /// public class WorkshopWithLeftWorkWorkFlowViewModel { /// /// آیدی کارگاه /// public long WorkshopId { get; set; } /// /// نام کارگاه /// public string WorkshopName { get; set; } = string.Empty; /// /// نام کارفرما /// public string EmployerName { get; set; } = string.Empty; /// /// تعداد پرسنل ترک کار کرده /// public int LeftWorkEmployeesCount { get; set; } }