Files
Backend-Api/WorkFlow/Application/WorkFlow.Application.Contracts/AdminWorkFlow/IAdminWorkFlowApplication.cs

151 lines
5.1 KiB
C#
Raw 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.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
{
/// <summary>
/// نمایش کارگاه های دارای مدارک بررسی نشده
/// </summary>
List<WorkshopWithDocumentsViewModelForWorkFlow> GetWorkshopDocumentsAwaitingReviewForChecker(List<long> workshops);
List<WorkshopWithDocumentsViewModelForWorkFlow> GetWorkshopsWithDocumentsAwaitingUploadForAdmin(
List<long> workshops);
#region شروع به کار پرسنل افزوده شده
/// <summary>
/// لیست کارگاه هایی که از کلاینت، پرسنلی را شروع به کار زدند
/// </summary>
/// <param name="accountId"></param>
/// <returns></returns>
Task<ICollection<WorkshopWithStartedWorkWorkFlowViewModel>> GetWorkshopsForEmployeeStartWork(long accountId);
/// <summary>
/// تعداد کارگاه هایی که از کلاینت پرسنلی را شروع به کار زدند
/// </summary>
/// <param name="accountId"></param>
/// <returns></returns>
Task<int> GetWorkshopsForEmployeeStartWorkCount(long accountId);
/// <summary>
/// لیست پرسنل هایی که از سمت کلاینت شروع به کار خوردند
/// </summary>
/// <param name="workshopId"></param>
/// <returns></returns>
Task<ICollection<ClientStartedWorkEmployeesWorkFlowViewModel>> GetClientEmployeesStartWork(long workshopId);
/// <summary>
/// اطلاعات پرسنل برای ویرایش در مودال ادمین آپلود مدارک در هنگام رد شدن مدرک توسط ناظر
/// </summary>
/// <param name="employeeId"></param>
/// <param name="workshopId"></param>
/// <returns></returns>
Task<GetEditEmployeeInEmployeeDocumentViewModel> GetEmployeeEditInEmployeeDocumentWorkFlow(long employeeId,
long workshopId);
Task<OperationResult> EditEmployeeInEmployeeDocumentWorkFlow(EditEmployeeInEmployeeDocument command);
/// <summary>
/// لیست کارگاه هایی که از کلاینت، پرسنلی را شروع به کار زدند و مدارک آنها کامل آپلود نشده است
/// </summary>
/// <param name="workshops"></param>
/// <param name="roleId"></param>
/// <returns></returns>
Task<ICollection<WorkshopWithDocumentsViewModelForWorkFlow>> GetWorkshopDocumentCreatedEmployeeForAdmin(List<long> workshops, long roleId);
#endregion
Task<int> GetEmployeeDocumentWorkFlowCountsForAdmin(List<long> workshopIds, long roleId);
Task<int> GetWorkFlowCountsForAdmin(List<long> workshopIds, long accountId, long roleId, List<int> permissions);
Task<int> GetWorkFlowCountForChecker();
#region ترک کار موقت
/// <summary>
/// لیست کارگاه هایی که از کلاینت، پرسنلی را ترک کار زدند
/// </summary>
/// <param name="accountId"></param>
/// <returns></returns>
Task<ICollection<WorkshopWithLeftWorkWorkFlowViewModel>> GetWorkshopsForLeftWorkTemp(long accountId);
/// <summary>
/// لیست پرسنل هایی که از سمت کلاینت ترک کار موقت خوردند
/// </summary>
/// <param name="workshopId"></param>
/// <returns></returns>
Task<ICollection<ClientLeftWorkEmployeesWorkFlowViewModel>> GetEmployeesForLeftWorkTemp(long workshopId);
Task<int> GetWorkshopsForLeftWorkTempCount(long accountId);
#endregion
Task<int> GetInstitutionContractWorkflowCount();
}
/// <summary>
/// پرسنل هایی که دارای ترک کار موقت هستند در کارپوشه ادمین
/// </summary>
public class ClientLeftWorkEmployeesWorkFlowViewModel
{
/// <summary>
/// آیدی پرسنل
/// </summary>
public long EmployeeId { get; set; }
/// <summary>
/// آیدی کارگاه
/// </summary>
public long WorkshopId { get; set; }
/// <summary>
/// نام پرسنل
/// </summary>
public string EmployeeName { get; set; } = string.Empty;
/// <summary>
/// تاریخ ترک کار
/// </summary>
public string LeftWorkDate { get; set; } = string.Empty;
}
/// <summary>
/// کارگاه هایی که پرسنل دارای ترک کار موقت دارند در کارپوشه ادمین
/// </summary>
public class WorkshopWithLeftWorkWorkFlowViewModel
{
/// <summary>
/// آیدی کارگاه
/// </summary>
public long WorkshopId { get; set; }
/// <summary>
/// نام کارگاه
/// </summary>
public string WorkshopName { get; set; } = string.Empty;
/// <summary>
/// نام کارفرما
/// </summary>
public string EmployerName { get; set; } = string.Empty;
/// <summary>
/// تعداد پرسنل ترک کار کرده
/// </summary>
public int LeftWorkEmployeesCount { get; set; }
}