Compare commits
1 Commits
Feature/fi
...
Feature/se
| Author | SHA1 | Date | |
|---|---|---|---|
| 6eba59fa7b |
@@ -9,6 +9,7 @@ using Company.Domain.EmployeeAgg;
|
|||||||
using Company.Domain.JobAgg;
|
using Company.Domain.JobAgg;
|
||||||
using Company.Domain.LeftWorkAgg;
|
using Company.Domain.LeftWorkAgg;
|
||||||
using Company.Domain.LeftWorkTempAgg;
|
using Company.Domain.LeftWorkTempAgg;
|
||||||
|
using Company.Domain.RollCallAgg;
|
||||||
using Company.Domain.RollCallEmployeeAgg;
|
using Company.Domain.RollCallEmployeeAgg;
|
||||||
using Company.Domain.RollCallEmployeeStatusAgg;
|
using Company.Domain.RollCallEmployeeStatusAgg;
|
||||||
using Company.Domain.WorkshopAgg;
|
using Company.Domain.WorkshopAgg;
|
||||||
@@ -34,9 +35,11 @@ public class LeftWorkTempApplication : ILeftWorkTempApplication
|
|||||||
private readonly IContractRepository _contractRepository;
|
private readonly IContractRepository _contractRepository;
|
||||||
private readonly IRollCallEmployeeRepository _rollCallEmployeeRepository;
|
private readonly IRollCallEmployeeRepository _rollCallEmployeeRepository;
|
||||||
private readonly IRollCallEmployeeStatusRepository _rollCallEmployeeStatusRepository;
|
private readonly IRollCallEmployeeStatusRepository _rollCallEmployeeStatusRepository;
|
||||||
|
private readonly IRollCallRepository _rollCallRepository;
|
||||||
|
|
||||||
|
|
||||||
public LeftWorkTempApplication(ILeftWorkTempRepository leftWorkTempRepository, ILeftWorkRepository leftWorkRepository, IWorkshopRepository workshopRepository, IEmployeeRepository employeeRepository, IJobRepository jobRepository, ICheckoutRepository checkoutRepository, IContractRepository contractRepository, IRollCallEmployeeStatusRepository rollCallEmployeeStatusRepository, IRollCallEmployeeRepository rollCallEmployeeRepository)
|
|
||||||
|
public LeftWorkTempApplication(ILeftWorkTempRepository leftWorkTempRepository, ILeftWorkRepository leftWorkRepository, IWorkshopRepository workshopRepository, IEmployeeRepository employeeRepository, IJobRepository jobRepository, ICheckoutRepository checkoutRepository, IContractRepository contractRepository, IRollCallEmployeeStatusRepository rollCallEmployeeStatusRepository, IRollCallEmployeeRepository rollCallEmployeeRepository, IRollCallRepository rollCallRepository)
|
||||||
{
|
{
|
||||||
_leftWorkTempRepository = leftWorkTempRepository;
|
_leftWorkTempRepository = leftWorkTempRepository;
|
||||||
_leftWorkRepository = leftWorkRepository;
|
_leftWorkRepository = leftWorkRepository;
|
||||||
@@ -47,6 +50,7 @@ public class LeftWorkTempApplication : ILeftWorkTempApplication
|
|||||||
_contractRepository = contractRepository;
|
_contractRepository = contractRepository;
|
||||||
_rollCallEmployeeStatusRepository = rollCallEmployeeStatusRepository;
|
_rollCallEmployeeStatusRepository = rollCallEmployeeStatusRepository;
|
||||||
_rollCallEmployeeRepository = rollCallEmployeeRepository;
|
_rollCallEmployeeRepository = rollCallEmployeeRepository;
|
||||||
|
_rollCallRepository = rollCallRepository;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<OperationResult> Create(CreateLeftWorkTemp command)
|
public async Task<OperationResult> Create(CreateLeftWorkTemp command)
|
||||||
@@ -93,6 +97,10 @@ public class LeftWorkTempApplication : ILeftWorkTempApplication
|
|||||||
return op.Failed("اطلاعات وارد شده نامعتبر است");
|
return op.Failed("اطلاعات وارد شده نامعتبر است");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (_rollCallRepository.Exists(x => x.ShiftDate >= leftWorkDateGr && x.EmployeeId == leftWork.EmployeeId && x.WorkshopId == leftWork.WorkshopId))
|
||||||
|
{
|
||||||
|
return op.Failed("در تاریخ ترک کار وارد شده یا جلوتر ، پرسنل دارای حضورغیاب میباشد. لطفا اول حضور غیاب های پرسنل را حذف نمایید");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//if (leftWork.StartWorkDate >= leftWorkDateGr)
|
//if (leftWork.StartWorkDate >= leftWorkDateGr)
|
||||||
@@ -119,8 +127,19 @@ public class LeftWorkTempApplication : ILeftWorkTempApplication
|
|||||||
|
|
||||||
var leftWorkTemp = LeftWorkTemp.CreateLeftWork(leftWork.id, leftWork.StartWorkDate, leftWorkDateGr, lastDayStandingDateGr,
|
var leftWorkTemp = LeftWorkTemp.CreateLeftWork(leftWork.id, leftWork.StartWorkDate, leftWorkDateGr, lastDayStandingDateGr,
|
||||||
command.WorkshopId, employeeId, leftWork.JobId);
|
command.WorkshopId, employeeId, leftWork.JobId);
|
||||||
|
var rollCallEmployee =
|
||||||
|
_rollCallEmployeeRepository.GetByEmployeeIdAndWorkshopId(employeeId, leftWork.WorkshopId);
|
||||||
|
if (rollCallEmployee != null)
|
||||||
|
{
|
||||||
|
var employeeStatus =
|
||||||
|
_rollCallEmployeeStatusRepository.GetByRollCallEmployeeIdAndDate(
|
||||||
|
rollCallEmployee.Id, leftWorkDateGr);
|
||||||
|
|
||||||
|
employeeStatus?.Deactivate(leftWorkDateGr);
|
||||||
|
}
|
||||||
|
|
||||||
await _leftWorkTempRepository.CreateAsync(leftWorkTemp);
|
await _leftWorkTempRepository.CreateAsync(leftWorkTemp);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
await _leftWorkTempRepository.SaveChangesAsync();
|
await _leftWorkTempRepository.SaveChangesAsync();
|
||||||
@@ -215,6 +234,11 @@ public class LeftWorkTempApplication : ILeftWorkTempApplication
|
|||||||
return op.Failed("ترک کار نمیتواند کوچک تر یا مساوی شروع به کار باشد");
|
return op.Failed("ترک کار نمیتواند کوچک تر یا مساوی شروع به کار باشد");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (_rollCallRepository.Exists(x => x.ShiftDate >= leftWorkDateGr && x.EmployeeId == leftWork.EmployeeId && x.WorkshopId == leftWork.WorkshopId))
|
||||||
|
{
|
||||||
|
return op.Failed("در تاریخ ترک کار وارد شده یا جلوتر ، پرسنل دارای حضورغیاب میباشد. لطفا اول حضور غیاب های پرسنل را حذف نمایید");
|
||||||
|
}
|
||||||
|
|
||||||
if (_checkoutRepository.Exists(x => x.EmployeeId == leftWorkTemp.EmployeeId &&
|
if (_checkoutRepository.Exists(x => x.EmployeeId == leftWorkTemp.EmployeeId &&
|
||||||
x.WorkshopId == leftWorkTemp.WorkshopId &&
|
x.WorkshopId == leftWorkTemp.WorkshopId &&
|
||||||
x.ContractStart <= lastDayStandingGr && x.ContractEnd >= lastDayStandingGr))
|
x.ContractStart <= lastDayStandingGr && x.ContractEnd >= lastDayStandingGr))
|
||||||
|
|||||||
Reference in New Issue
Block a user