Files
Backend-Api/Company.Domain/RollCallEmployeeStatusAgg/IRollCallEmployeeStatusRepository.cs

32 lines
1.4 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);
bool IsActiveInPeriod(long employeeId, long workshopId, DateTime startDate, DateTime endDate);
void RemoveRange(IEnumerable<RollCallEmployeeStatus> rollCallEmployeeStatusList);
}
}