check options on create checkout

This commit is contained in:
SamSys
2025-06-23 00:32:35 +03:30
parent 8fd51f4e42
commit a861f9f21c
3 changed files with 30 additions and 8 deletions

View File

@@ -39,7 +39,10 @@ public class CreateCheckoutListViewModel
public string Description { get; set; }
/// <summary>
/// آیا پرسنل اجازه ایجاد قرارداد دارد
/// </summary>
public bool EmployeeHasCreateCheckout { get; set; }
public List<CreateCheckoutListViewModel> CreateCheckoutList { get; set; }
}

View File

@@ -21,8 +21,16 @@ public class EmployeeComputeOptionsApplication : IEmployeeComputeOptionsApplicat
public OperationResult Create(CreateEmployeeComputeOptions command)
{
var opration = new OperationResult();
try
if (command.CreateContract && command.ContractTerm != "1" && command.CutContractEndOfYear == IsActive.None)
return opration.Failed("لطفا تعیین کنید که قراداد منتهی به پایان سال یاشد یا نباشد");
if (command.ContractTerm == "1")
command.CutContractEndOfYear = IsActive.None;
try
{
if (_employeeComputeOptionsRepository.Exists(x =>
x.EmployeeId == command.EmployeeId && x.WorkshopId == command.WorkshopId))

View File

@@ -217,7 +217,15 @@ public class CheckoutRepository : RepositoryBase<long, Checkout>, ICheckoutRepos
checkout => checkout.ContractId,
(contractWorkshopEmployeeleftWorkPersonnelCode, checkout) =>
new { contractWorkshopEmployeeleftWorkPersonnelCode, checkout })
.ToList();
.GroupJoin(_context.EmployeeComputeOptionsSet.Where(o => o.WorkshopId == workshopId),
x => x.contractWorkshopEmployeeleftWorkPersonnelCode.contractWorkshopEmployeeleftWork.leftwork.EmployeeId,
option => option.EmployeeId,
(x, options) => new { x.checkout, x.contractWorkshopEmployeeleftWorkPersonnelCode, options })
.SelectMany(
x => x.options.DefaultIfEmpty(),
(x, option) => new { x.checkout, x.contractWorkshopEmployeeleftWorkPersonnelCode, option })
.ToList();
Console.WriteLine("query : " + timer.Elapsed);
timer.Reset();
timer.Start();
@@ -249,8 +257,9 @@ public class CheckoutRepository : RepositoryBase<long, Checkout>, ICheckoutRepos
LaterThanEnd = false,
Extension = false,
Description = "دارای فیش حقوقی",
HasCheckout = true
};
HasCheckout = true,
EmployeeHasCreateCheckout = true
};
}
var employeeJoin = result.contractWorkshopEmployeeleftWorkPersonnelCode.contractWorkshopEmployeeleftWork
.contractWorkshopEmployee.employee.id;
@@ -469,10 +478,12 @@ public class CheckoutRepository : RepositoryBase<long, Checkout>, ICheckoutRepos
Description = description,
ContractStart = contractStart,
ContractEnd = contractEnd,
LeftWorkDate = leftWorkDate
};
LeftWorkDate = leftWorkDate,
EmployeeHasCreateCheckout = result.option != null ? result.option.CreateCheckout : result.contractWorkshopEmployeeleftWorkPersonnelCode.contractWorkshopEmployeeleftWork.contractWorkshopEmployee.contractWorkshop.workshop.CreateCheckout
}).OrderByDescending(x => x.Extension).ToList();
};
}).Where(x=>x.EmployeeHasCreateCheckout).OrderByDescending(x => x.Extension).ToList();