Files
Backend-Api/Company.Domain/RollCallEmployeeStatusAgg/IRollCallEmployeeStatusRepository.cs
2025-01-04 21:45:20 +03:30

29 lines
1.2 KiB
C#

using _0_Framework.Domain;
using CompanyManagment.App.Contracts.RollCallEmployee;
using CompanyManagment.App.Contracts.RollCallEmployeeStatus;
using System;
using System.Collections.Generic;
namespace Company.Domain.RollCallEmployeeStatusAgg
{
public interface IRollCallEmployeeStatusRepository : IRepository<long, RollCallEmployeeStatus>
{
List<RollCallEmployeeStatusViewModel> GetAll();
/// <summary>
/// تغییر بازه فعالیت هنگام ترک کار پرسنل
/// </summary>
///
/// <returns></returns>
void AdjustRollCallStatusEndDates(List<AdjustRollCallEmployeesWithEmployeeLeftWork> command);
/// <summary>
/// دریافت وضعیت حضور غیاب پرسنل در تاریخ مشخص
/// </summary>
/// <param name="rollCallEmployeeId"></param>
/// <param name="date"></param>
/// <returns></returns>
RollCallEmployeeStatus GetByRollCallEmployeeIdAndDate(long rollCallEmployeeId, DateTime date);
List<RollCallEmployeeStatusViewModel> GetActiveByWorkshopIdInDate(long workshopId, DateTime startDateGr, DateTime endDateGr);
List<RollCallEmployeeStatusViewModel> GetByWorkshopIdInDates(long workshopId, DateTime start, DateTime end);
}
}