Files
Backend-Api/CompanyManagment.Application/RollCallMandatoryApplication.cs
2025-09-13 06:29:25 +03:30

34 lines
1.7 KiB
C#

using Company.Domain.RollCallAgg;
using CompanyManagment.App.Contracts.Contract;
using CompanyManagment.App.Contracts.RollCall;
using CompanyManagment.App.Contracts.WorkingHoursTemp;
using System;
using System.Threading.Tasks;
namespace CompanyManagment.Application;
public class RollCallMandatoryApplication : IRollCallMandatoryApplication
{
private readonly IRollCallMandatoryRepository _rollCallMandatoryRepository;
public RollCallMandatoryApplication(IRollCallMandatoryRepository rollCallMandatoryRepository)
{
_rollCallMandatoryRepository = rollCallMandatoryRepository;
}
public bool HasRollCallRecord(long employeeId, long workshopId, DateTime contractStart)
{
return _rollCallMandatoryRepository.Exists(x => x.EmployeeId == employeeId && x.WorkshopId == workshopId && x.StartDate.Value.Date >= contractStart.Date);
}
public ComputingViewModel MandatoryCompute(long employeeId, long workshopId, DateTime contractStart, DateTime contractEnd, CreateWorkingHoursTemp command, bool holidayWorking, bool isStaticCheckout, bool rotatingShiftCompute,bool totalLeaveCompute)
{
return _rollCallMandatoryRepository.MandatoryCompute(employeeId,workshopId, contractStart, contractEnd, command, holidayWorking, isStaticCheckout, rotatingShiftCompute, totalLeaveCompute);
}
public async Task<ComputingViewModel> RotatingShiftReport(long workshopId, long employeeId, DateTime contractStart, DateTime contractEnd,
string shiftwork, bool hasRollCall, CreateWorkingHoursTemp command, bool holidayWorking)
{
return await _rollCallMandatoryRepository.RotatingShiftReport(workshopId, employeeId, contractStart, contractEnd, shiftwork,hasRollCall, command, holidayWorking);
}
}