Files
Backend-Api/WorkFlow/Application/WorkFlow.Application.Contracts/WorkFlow/IWorkFlowApplication.cs
2025-06-25 04:48:12 +03:30

76 lines
3.3 KiB
C#

using _0_Framework.Application;
using WorkFlow.Application.Contracts.RollCallConfirmedAbsence;
using WorkFlow.Application.Contracts.RollCallConfirmedWithoutLunchBreak;
using WorkFlow.Application.Contracts.Shared;
namespace WorkFlow.Application.Contracts.WorkFlow;
public interface IWorkFlowApplication
{
Task<OperationResult> CreateRollCallConfirmedAbsence(CreateRollCallConfirmedAbsence command);
Task<OperationResult> CreateRollCallConfirmedWithoutLunchBreak(CreateRollCallConfirmedWithoutLunchBreak command);
Task<int> GetCountAllWorkFlows(long workshopId, long accountId);
Task<int> GetRollCallAbsentsWorkFlows(long workshopId);
Task<int> GetCountCutRollCallByBgService(long workshopId);
Task<int> GetAllWorkFlowCount(long workshopId , long accountId);
Task<int> GetAllWorkFlowCountAsync(long workshopId);
Task<int> GetAllRollCallCount(long workshopId);
Task<int> GetAllEmployeeDocuments(long workshopId, long accountId);
Task<DailyRollCallWorkFlowViewModel> GetAbsentRollCallWorkFlowsByDate(long workshopId, DateTime date);
Task<DailyRollCallConfirmedWithoutLunchBreakViewModel> GetEmployeesWithoutLunchBreakByDate(long workshopId, DateTime date);
Task<DailyRollCallWorkFlowViewModel> GetRollCallWorkFlowsCutByBgServiceByDate(long workshopId, DateTime date);
Task<DailyRollCallWorkFlowViewModel> GetUndefinedRollCallsByDate(long workshopId, DateTime date);
Task<DailyWorkFlowEmployeesWithRollCallOnLeaveViewModel> GetRollCallsOverlappingLeaveByDate(long workshopId,
DateTime date);
Task<List<RollCallConfirmAbsenceViewModel>> GetConfirmAbsencesBy(long workshopId, DateTime start, DateTime end);
Task<List<DailyWorkFlowEmployeesWithRollCallOnLeaveViewModel>> GetRollCallsOverlappingLeaves(long workshopId);
Task<List<DailyRollCallWorkFlowViewModel>> GetRollCallWorkFlowsCutByBgService(long workshopId);
Task<List<DailyRollCallWorkFlowViewModel>> GetAbsentRollCallWorkFlows(long workshopId);
Task<List<DailyRollCallWorkFlowViewModel>> GetUndefinedRollCalls(long workshopId);
#region CountWorkFlowForCheckout
/// <summary>
/// شمارنده کات شده توسط سیستم کارپوشه
/// برای ایجاد تصفیه حساب
/// </summary>
/// <param name="workshopId"></param>
/// <returns></returns>
Task<int> CountCutByBgServiceLastMonth(long workshopId);
/// <summary>
/// شمارنده غیبت کارپوشه
/// برای ایجاد تصفیه حساب
/// </summary>
/// <param name="workshopId"></param>
/// <returns></returns>
Task<int> CountAbsentRollCallLastMonth(long workshopId);
/// <summary>
/// شمارنده عدم ثبت استراحت کارپوشه
/// برای ایجاد تصفیه حساب
/// </summary>
/// <param name="workshopId"></param>
/// <returns></returns>
Task<int> CountEmployeesWithoutLunchBreakLastMonth(long workshopId);
/// <summary>
/// شمارنده ثبت نامشخص کارپوشه
/// برای ایجاد تصفیه حساب
/// </summary>
/// <param name="workshopId"></param>
/// <returns></returns>
Task<int> CountUndefinedLastMonth(long workshopId);
#endregion
Task<List<DailyRollCallConfirmedWithoutLunchBreakViewModel>> GetEmployeesWithoutLunchBreak(long workshopId);
Task<List<(long Id, string Name)>> GetEmployeesWithoutGroup(long workshopId);
}