diff --git a/Company.Domain/InstitutionContractSendFlagAgg/IInstitutionContractSendFlagRepository.cs b/Company.Domain/InstitutionContractSendFlagAgg/IInstitutionContractSendFlagRepository.cs index 7119a252..b847d2e0 100644 --- a/Company.Domain/InstitutionContractSendFlagAgg/IInstitutionContractSendFlagRepository.cs +++ b/Company.Domain/InstitutionContractSendFlagAgg/IInstitutionContractSendFlagRepository.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; using System.Threading.Tasks; namespace Company.Domain.InstitutionContractSendFlagAgg; diff --git a/CompanyManagement.Infrastructure.Mongo/InstitutionContractSendFlagRepo/InstitutionContractSendFlagRepository.cs b/CompanyManagement.Infrastructure.Mongo/InstitutionContractSendFlagRepo/InstitutionContractSendFlagRepository.cs index 54f30be0..ccc45260 100644 --- a/CompanyManagement.Infrastructure.Mongo/InstitutionContractSendFlagRepo/InstitutionContractSendFlagRepository.cs +++ b/CompanyManagement.Infrastructure.Mongo/InstitutionContractSendFlagRepo/InstitutionContractSendFlagRepository.cs @@ -1,4 +1,5 @@ using System; +using System.Collections.Generic; using System.Threading.Tasks; using Company.Domain.InstitutionContractSendFlagAgg; using MongoDB.Driver; diff --git a/CompanyManagment.App.Contracts/InstitutionContract/GetInstitutionContractListItemsViewModel.cs b/CompanyManagment.App.Contracts/InstitutionContract/GetInstitutionContractListItemsViewModel.cs index 7ba3aaa0..f69e1e75 100644 --- a/CompanyManagment.App.Contracts/InstitutionContract/GetInstitutionContractListItemsViewModel.cs +++ b/CompanyManagment.App.Contracts/InstitutionContract/GetInstitutionContractListItemsViewModel.cs @@ -96,6 +96,8 @@ public class GetInstitutionContractListItemsViewModel /// مبلغ قسط /// public double InstallmentAmount { get; set; } + + public bool InstitutionContractIsSentFlag { get; set; } } public class InstitutionContractListWorkshop diff --git a/CompanyManagment.EFCore/Repository/InstitutionContractRepository.cs b/CompanyManagment.EFCore/Repository/InstitutionContractRepository.cs index 4ea52bbb..7f7f00d0 100644 --- a/CompanyManagment.EFCore/Repository/InstitutionContractRepository.cs +++ b/CompanyManagment.EFCore/Repository/InstitutionContractRepository.cs @@ -11,6 +11,7 @@ using Company.Domain.InstitutionContractAgg; using Company.Domain.InstitutionContractAmendmentTempAgg; using Company.Domain.InstitutionContractContactInfoAgg; using Company.Domain.InstitutionContractExtensionTempAgg; +using Company.Domain.InstitutionContractSendFlagAgg; using Company.Domain.InstitutionPlanAgg; using Company.Domain.SmsResultAgg; using Company.Domain.WorkshopAgg; @@ -42,6 +43,7 @@ using AccountManagement.Application.Contracts.Account; using Company.Domain.InstitutionContractCreationTempAgg; using Company.Domain.RepresentativeAgg; using Company.Domain.TemporaryClientRegistrationAgg; +using Company.Domain.InstitutionContractSendFlagAgg; using ContractingPartyAccount = Company.Domain.ContractingPartyAccountAgg.ContractingPartyAccount; using FinancialStatment = Company.Domain.FinancialStatmentAgg.FinancialStatment; using String = System.String; @@ -57,6 +59,7 @@ public class InstitutionContractRepository : RepositoryBase _institutionExtensionTemp; private readonly IMongoCollection _institutionAmendmentTemp; private readonly IMongoCollection _institutionContractCreationTemp; + private readonly IMongoCollection _institutionContractSendFlag; private readonly IPlanPercentageRepository _planPercentageRepository; private readonly ISmsService _smsService; private readonly ISmsResultRepository _smsResultRepository; @@ -114,6 +117,8 @@ public class InstitutionContractRepository : RepositoryBase("InstitutionContractAmendmentTemp"); _institutionContractCreationTemp = database.GetCollection("InstitutionContractCreationTemp"); + _institutionContractSendFlag = + database.GetCollection("InstitutionContractSendFlag"); } public EditInstitutionContract GetDetails(long id) @@ -1353,6 +1358,12 @@ public class InstitutionContractRepository : RepositoryBase contractIds.Contains(x.InstitutionContractId)) .ToDictionaryAsync(x => x.InstitutionContractId, x => x); + // بارگذاری وضعیت ارسال قراردادها از MongoDB - کوئری مستقیم + var filter = Builders.Filter + .In(x => x.InstitutionContractId, contractIds); + var sendFlagsList = await _institutionContractSendFlag.Find(filter).ToListAsync(); + var sendFlags = sendFlagsList.ToDictionary(x => x.InstitutionContractId, x => x.IsSent); + var financialStatements = _context.FinancialStatments.Include(x => x.FinancialTransactionList) .Where(x => contractingPartyIds.Contains(x.ContractingPartyId)).ToList(); var res = new PagedResult() @@ -1462,7 +1473,8 @@ public class InstitutionContractRepository : RepositoryBase y.Services.ContractInPerson) ?? true, - IsOldContract = x.contract.SigningType == InstitutionContractSigningType.Legacy + IsOldContract = x.contract.SigningType == InstitutionContractSigningType.Legacy, + InstitutionContractIsSentFlag = sendFlags.ContainsKey(x.contract.id) ? sendFlags[x.contract.id] : false }; }).ToList() };