saparation creatcheckout on api mehod changes

This commit is contained in:
gozareshgir
2026-01-31 17:08:24 +03:30
parent 6f0a579c33
commit 3f23d1dac0

View File

@@ -3929,7 +3929,7 @@ public class CheckoutRepository : RepositoryBase<long, Checkout>, ICheckoutRepos
foreach (var contract in seprationData)
{
var leftWork = leftWorks.FirstOrDefault(x => x.EmployeeId == contract.EmployeeId && contract.ContarctStart <= x.LeftWorkDate && contract.ContractEnd >= x.StartWorkDate);
var leftWork = leftWorks.FirstOrDefault(x => x.EmployeeId == contract.EmployeeId && contract.ContarctStart < x.LeftWorkDate && contract.ContractEnd >= x.StartWorkDate);
var start = new DateTime();
var end = new DateTime();
if (leftWork == null)
@@ -3957,14 +3957,14 @@ public class CheckoutRepository : RepositoryBase<long, Checkout>, ICheckoutRepos
}
var leftFirstDayOfNextMonth = end.AddDays(1);
if (leftWork.HasLeft && (leftWork.LeftWorkDate <= == leftFirstDayOfNextMonth) &&
if (leftWork.HasLeft && leftWork.LeftWorkDate <= leftFirstDayOfNextMonth &&
leftWork.LeftWorkDate > start)
{
var ContractEnd = leftWork.LeftWorkDate.AddDays(-1);
separation.Add(new ContractSeparationViewModel()
{
StartWorkDate = leftWork.StartWorkDate,
LeftWorkDate = leftWork.LeftWorkDate,
LeftWorkDate = ContractEnd,
HasLeft = true,
ContarctStart = start.ToFarsi(),
ContractEnd = ContractEnd.ToFarsi(),
@@ -3974,6 +3974,36 @@ public class CheckoutRepository : RepositoryBase<long, Checkout>, ICheckoutRepos
EmployeeId = contract.EmployeeId
});
}
else if(leftWork.HasLeft && leftWork.LeftWorkDate > leftFirstDayOfNextMonth)
{
separation.Add(new ContractSeparationViewModel()
{
StartWorkDate = leftWork.StartWorkDate,
LeftWorkDate = leftWork.LeftWorkDate.AddDays(-1),
HasLeft = false,
ContarctStart = start.ToFarsi(),
ContractEnd = end.ToFarsi(),
ContractStartGr = start,
ContractEndGr = end,
checker = true,
EmployeeId = contract.EmployeeId
});
}
else if(!leftWork.HasLeft)
{
separation.Add(new ContractSeparationViewModel()
{
StartWorkDate = leftWork.StartWorkDate,
LeftWorkDate = new DateTime(2121, 3, 21),
HasLeft = false,
ContarctStart = start.ToFarsi(),
ContractEnd = end.ToFarsi(),
ContractStartGr = start,
ContractEndGr = end,
checker = true,
EmployeeId = contract.EmployeeId
});
}
}