diff --git a/Company.Domain/InstitutionContractAgg/InstitutionContractWorkshopGroup.cs b/Company.Domain/InstitutionContractAgg/InstitutionContractWorkshopGroup.cs index d807018e..a01f6cc7 100644 --- a/Company.Domain/InstitutionContractAgg/InstitutionContractWorkshopGroup.cs +++ b/Company.Domain/InstitutionContractAgg/InstitutionContractWorkshopGroup.cs @@ -23,6 +23,8 @@ public class InstitutionContractWorkshopGroup : EntityBase !InitialWorkshops.Cast() .SequenceEqual(CurrentWorkshops.Cast()); + public bool IsInPersonContract => InitialWorkshops.Any(x => x.Services.ContractInPerson); + public InstitutionContractWorkshopGroup(long institutionContractId, List initialDetails) { diff --git a/CompanyManagement.Infrastructure.Excel/InstitutionContract/InstitutionContractExcelGenerator.cs b/CompanyManagement.Infrastructure.Excel/InstitutionContract/InstitutionContractExcelGenerator.cs index 24f5ce8a..5a0b4874 100644 --- a/CompanyManagement.Infrastructure.Excel/InstitutionContract/InstitutionContractExcelGenerator.cs +++ b/CompanyManagement.Infrastructure.Excel/InstitutionContract/InstitutionContractExcelGenerator.cs @@ -38,7 +38,6 @@ public class ExcelColumnConfig // فعلاً تمام ستون‌ها فعال هستند VisibleColumns = new List { - ExcelColumnType.RowNumber, ExcelColumnType.PhysicalContract, ExcelColumnType.ContractNo, ExcelColumnType.Representative, @@ -286,11 +285,20 @@ public class InstitutionContractExcelGenerator switch (columnType) { - case ExcelColumnType.RowNumber: - // TODO: مقدار ردیف رو از user input دریافت کن - break; case ExcelColumnType.PhysicalContract: - // TODO: مقدار قرارداد فیزیکی رو دریافت کن + var physicalText = contract.IsOldContract + ? (contract.HasSigniture ? "موجود" : "ناموجود") + : (contract.IsInPersonContract ? "الکترونیکی حضوری" : "الکترونیکی غیر حضوری"); + + cell.Value = physicalText; + cell.Style.Font.Bold = true; + cell.Style.Font.Color.SetColor(physicalText switch + { + "موجود" => Color.Green, + "ناموجود" => Color.Red, + "الکترونیکی حضوری" => Color.Purple, + _ => Color.Blue + }); break; case ExcelColumnType.ContractNo: cell.Value = contract.ContractNo; diff --git a/CompanyManagment.App.Contracts/CompanyManagment.App.Contracts.csproj b/CompanyManagment.App.Contracts/CompanyManagment.App.Contracts.csproj index 460093f3..8704ce17 100644 --- a/CompanyManagment.App.Contracts/CompanyManagment.App.Contracts.csproj +++ b/CompanyManagment.App.Contracts/CompanyManagment.App.Contracts.csproj @@ -3,6 +3,7 @@ net10.0 true + $(NoWarn);1591 diff --git a/CompanyManagment.App.Contracts/InstitutionContract/GetInstitutionVerificationDetailsViewModel.cs b/CompanyManagment.App.Contracts/InstitutionContract/GetInstitutionVerificationDetailsViewModel.cs index 0e3cc092..4d28eebc 100644 --- a/CompanyManagment.App.Contracts/InstitutionContract/GetInstitutionVerificationDetailsViewModel.cs +++ b/CompanyManagment.App.Contracts/InstitutionContract/GetInstitutionVerificationDetailsViewModel.cs @@ -13,6 +13,7 @@ public class GetInstitutionVerificationDetailsViewModel public string ContractStart { get; set; } public string ContractEnd { get; set; } public List Workshops { get; set; } + public string OneMonthPrice { get; set; } public string TotalPrice { get; set; } public string TaxPrice { get; set; } public string PaymentPrice { get; set; } diff --git a/CompanyManagment.App.Contracts/InstitutionContract/GetInstitutionVerificationDetailsWorkshopsViewModel.cs b/CompanyManagment.App.Contracts/InstitutionContract/GetInstitutionVerificationDetailsWorkshopsViewModel.cs index 84046b45..1947e4eb 100644 --- a/CompanyManagment.App.Contracts/InstitutionContract/GetInstitutionVerificationDetailsWorkshopsViewModel.cs +++ b/CompanyManagment.App.Contracts/InstitutionContract/GetInstitutionVerificationDetailsWorkshopsViewModel.cs @@ -7,5 +7,4 @@ public class GetInstitutionVerificationDetailsWorkshopsViewModel public WorkshopServicesViewModel OldServices { get; set; } public WorkshopServicesViewModel Services { get; set; } - public string Price { get; set; } } \ No newline at end of file diff --git a/CompanyManagment.Application/InstitutionContractApplication.cs b/CompanyManagment.Application/InstitutionContractApplication.cs index 1709fb22..493143ab 100644 --- a/CompanyManagment.Application/InstitutionContractApplication.cs +++ b/CompanyManagment.Application/InstitutionContractApplication.cs @@ -1650,6 +1650,11 @@ public class InstitutionContractApplication : IInstitutionContractApplication if (institutionContract.VerificationStatus == InstitutionContractVerificationStatus.Verified) return op.Failed("قرارداد مالی قبلا تایید شده است"); + if (!institutionContract.WorkshopGroup.IsInPersonContract) + { + return op.Failed("قرارداد مالی غیر حضوری نمی تواند به صورت دستی تایید شود"); + } + var transaction = await _institutionContractRepository.BeginTransactionAsync(); await SetPendingWorkflow(institutionContractId,InstitutionContractSigningType.Physical); diff --git a/CompanyManagment.EFCore/Repository/InstitutionContractRepository.cs b/CompanyManagment.EFCore/Repository/InstitutionContractRepository.cs index c83c16e7..15b2f2fe 100644 --- a/CompanyManagment.EFCore/Repository/InstitutionContractRepository.cs +++ b/CompanyManagment.EFCore/Repository/InstitutionContractRepository.cs @@ -1869,6 +1869,9 @@ public class InstitutionContractRepository : RepositoryBase x.InstallmentDateGr).First().Amount.ToMoney(): + query.contract.ContractAmount.ToMoney(), TotalPrice = (query.contract.TotalAmount - query.contract.ValueAddedTax).ToMoney(), PaymentPrice = query.contract.TotalAmount.ToMoney(), IsInstallment = query.contract.IsInstallment, @@ -1902,8 +1905,8 @@ public class InstitutionContractRepository : RepositoryBase, IIns { checkout.SetUpdateNeeded(); if (!_context.CheckoutWarningMessages.Any(x => - x.CheckoutId == checkout.id && x.TypeOfCheckoutWarning != + x.CheckoutId == checkout.id && x.TypeOfCheckoutWarning == TypeOfCheckoutWarning.InsuranceEmployeeShare)) { var createWarrning = diff --git a/ServiceHost/Properties/launchSettings.json b/ServiceHost/Properties/launchSettings.json index 1e604c6c..d7381591 100644 --- a/ServiceHost/Properties/launchSettings.json +++ b/ServiceHost/Properties/launchSettings.json @@ -11,7 +11,7 @@ }, "ServiceHost": { "commandName": "Project", - "launchBrowser": false, + "launchBrowser": true, "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development", "ASPNETCORE_HOSTINGSTARTUPASSEMBLIES": "Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation"