From 823110ea74db4bddf5e3e37086072a45b12688c2 Mon Sep 17 00:00:00 2001 From: SamSys Date: Wed, 7 Jan 2026 11:24:27 +0330 Subject: [PATCH] change --- .../InstitutionContractRepository.cs | 440 +++++++++--------- 1 file changed, 220 insertions(+), 220 deletions(-) diff --git a/CompanyManagment.EFCore/Repository/InstitutionContractRepository.cs b/CompanyManagment.EFCore/Repository/InstitutionContractRepository.cs index 7c54aa1d..4ea52bbb 100644 --- a/CompanyManagment.EFCore/Repository/InstitutionContractRepository.cs +++ b/CompanyManagment.EFCore/Repository/InstitutionContractRepository.cs @@ -6337,272 +6337,272 @@ public class InstitutionContractRepository : RepositoryBase /// - public async Task> GetWarningSmsListData() - { + //public async Task> GetWarningSmsListData() + //{ - var institutionContracts = await _context.InstitutionContractSet.AsQueryable().Select(x => new InstitutionContractViewModel - { - Id = x.id, - ContractingPartyId = x.ContractingPartyId, - ContractingPartyName = x.ContractingPartyName, - ContractStartGr = x.ContractStartGr, - ContractStartFa = x.ContractStartFa, - ContractEndGr = x.ContractEndGr, - ContractEndFa = x.ContractEndFa, - IsActiveString = x.IsActiveString, - ContractAmountDouble = x.ContractAmount, - OfficialCompany = x.OfficialCompany, - IsInstallment = x.IsInstallment, - VerificationStatus = x.VerificationStatus, - SigningType = x.SigningType, - }).Where(x => x.IsActiveString == "blue" && - x.ContractAmountDouble > 0).GroupBy(x => x.ContractingPartyId).Select(x => x.First()).ToListAsync(); + // var institutionContracts = await _context.InstitutionContractSet.AsQueryable().Select(x => new InstitutionContractViewModel + // { + // Id = x.id, + // ContractingPartyId = x.ContractingPartyId, + // ContractingPartyName = x.ContractingPartyName, + // ContractStartGr = x.ContractStartGr, + // ContractStartFa = x.ContractStartFa, + // ContractEndGr = x.ContractEndGr, + // ContractEndFa = x.ContractEndFa, + // IsActiveString = x.IsActiveString, + // ContractAmountDouble = x.ContractAmount, + // OfficialCompany = x.OfficialCompany, + // IsInstallment = x.IsInstallment, + // VerificationStatus = x.VerificationStatus, + // SigningType = x.SigningType, + // }).Where(x => x.IsActiveString == "blue" && + // x.ContractAmountDouble > 0).GroupBy(x => x.ContractingPartyId).Select(x => x.First()).ToListAsync(); - var institutionContractsIds = institutionContracts.Select(x => x.id).ToList(); + // var institutionContractsIds = institutionContracts.Select(x => x.id).ToList(); - // قرارداد هایی که بطور یکجا پرداخت شده اند - var paidInFull = institutionContracts.Where(x => - x.SigningType != InstitutionContractSigningType.Legacy && x.IsInstallment == false && x.SigningType != null).ToList(); + // // قرارداد هایی که بطور یکجا پرداخت شده اند + // var paidInFull = institutionContracts.Where(x => + // x.SigningType != InstitutionContractSigningType.Legacy && x.IsInstallment == false && x.SigningType != null).ToList(); - //حذف قراداد هایی که یکجا پرداخت شده اند از لیست ایجاد سند ماهانه - institutionContracts = institutionContracts.Except(paidInFull).ToList(); + // //حذف قراداد هایی که یکجا پرداخت شده اند از لیست ایجاد سند ماهانه + // institutionContracts = institutionContracts.Except(paidInFull).ToList(); - var contractingPartyList = await _context.PersonalContractingParties - .Where(x => institutionContracts.Select(ins => ins.ContractingPartyId).Contains(x.id)).ToListAsync(); + // var contractingPartyList = await _context.PersonalContractingParties + // .Where(x => institutionContracts.Select(ins => ins.ContractingPartyId).Contains(x.id)).ToListAsync(); - var financialStatmentList = await _context.FinancialStatments.AsSplitQuery() - .Where(x => institutionContracts.Select(ins => ins.ContractingPartyId).Contains(x.ContractingPartyId)) - .Include(x => x.FinancialTransactionList).Where(x => x.FinancialTransactionList.Count > 0).ToListAsync(); + // var financialStatmentList = await _context.FinancialStatments.AsSplitQuery() + // .Where(x => institutionContracts.Select(ins => ins.ContractingPartyId).Contains(x.ContractingPartyId)) + // .Include(x => x.FinancialTransactionList).Where(x => x.FinancialTransactionList.Count > 0).ToListAsync(); - var phoneNumberList = await _context.InstitutionContractContactInfos - .Where(x => institutionContracts.Select(ins => ins.Id).Contains(x.InstitutionContractId)) - .Where(x => x.SendSms && x.PhoneType == "شماره همراه" && !string.IsNullOrWhiteSpace(x.PhoneNumber) && - x.PhoneNumber.Length == 11).ToListAsync(); - var legalActionSentSms = await _context.SmsResults - .Where(x => x.TypeOfSms == "اقدام قضایی").ToListAsync(); - var warningSentSms = await _context.SmsResults.Where(x => x.TypeOfSms.Contains("هشدار")).ToListAsync(); + // var phoneNumberList = await _context.InstitutionContractContactInfos + // .Where(x => institutionContracts.Select(ins => ins.Id).Contains(x.InstitutionContractId)) + // .Where(x => x.SendSms && x.PhoneType == "شماره همراه" && !string.IsNullOrWhiteSpace(x.PhoneNumber) && + // x.PhoneNumber.Length == 11).ToListAsync(); + // var legalActionSentSms = await _context.SmsResults + // .Where(x => x.TypeOfSms == "اقدام قضایی").ToListAsync(); + // var warningSentSms = await _context.SmsResults.Where(x => x.TypeOfSms.Contains("هشدار")).ToListAsync(); - var oldInstitutionContract = institutionContracts.Where(x => x.IsInstallment == false).ToList(); - var electronicInstitutionContract = institutionContracts.Where(x => x.IsInstallment == true).ToList(); + // var oldInstitutionContract = institutionContracts.Where(x => x.IsInstallment == false).ToList(); + // var electronicInstitutionContract = institutionContracts.Where(x => x.IsInstallment == true).ToList(); - foreach (var item in oldInstitutionContract) - { - try - { - var contractingParty = GetDetails(item.ContractingPartyId); - bool hasLegalActionSentSms = legalActionSentSms.Any(x => x.InstitutionContractId == item.Id); - int year = Convert.ToInt32(item.ContractEndFa.Substring(0, 4)); - int month = Convert.ToInt32(item.ContractEndFa.Substring(5, 2)); - var endOfContractNextMonthStart = new PersianDateTime(year, month, 1).AddMonths(1); - var endOfContractNextMonthEnd = (($"{endOfContractNextMonthStart}").FindeEndOfMonth()).ToGeorgianDateTime(); - var now = DateTime.Now + // foreach (var item in oldInstitutionContract) + // { + // try + // { + // var contractingParty = GetDetails(item.ContractingPartyId); + // bool hasLegalActionSentSms = legalActionSentSms.Any(x => x.InstitutionContractId == item.Id); + // int year = Convert.ToInt32(item.ContractEndFa.Substring(0, 4)); + // int month = Convert.ToInt32(item.ContractEndFa.Substring(5, 2)); + // var endOfContractNextMonthStart = new PersianDateTime(year, month, 1).AddMonths(1); + // var endOfContractNextMonthEnd = (($"{endOfContractNextMonthStart}").FindeEndOfMonth()).ToGeorgianDateTime(); + // var now = DateTime.Now - if (!string.IsNullOrWhiteSpace(contractingParty.LName) && !hasLegalActionSentSms && now.Date <= endOfContractNextMonthEnd.Date) - { - //Thread.Sleep(500); - var partyName = contractingParty.LName; + // if (!string.IsNullOrWhiteSpace(contractingParty.LName) && !hasLegalActionSentSms && now.Date <= endOfContractNextMonthEnd.Date) + // { + // //Thread.Sleep(500); + // var partyName = contractingParty.LName; - if (partyName.Length > 25) partyName = $"{partyName.Substring(0, 25)}"; + // if (partyName.Length > 25) partyName = $"{partyName.Substring(0, 25)}"; - var isLegal = contractingParty.IsLegal == "حقوقی" ? true : false; - var isBlock = contractingParty.IsBlock == "true" ? true : false; - var isActive = contractingParty.IsActiveString == "true" ? true : false; - if (!string.IsNullOrWhiteSpace(contractingParty.IsActiveString)) - { - var hasFinancialStatement = - financialStatmentList.Any(x => x.ContractingPartyId == item.ContractingPartyId); + // var isLegal = contractingParty.IsLegal == "حقوقی" ? true : false; + // var isBlock = contractingParty.IsBlock == "true" ? true : false; + // var isActive = contractingParty.IsActiveString == "true" ? true : false; + // if (!string.IsNullOrWhiteSpace(contractingParty.IsActiveString)) + // { + // var hasFinancialStatement = + // financialStatmentList.Any(x => x.ContractingPartyId == item.ContractingPartyId); - var hasPhonNumber = phoneNumberList.Any(x => x.InstitutionContractId == item.Id); + // var hasPhonNumber = phoneNumberList.Any(x => x.InstitutionContractId == item.Id); - if (hasFinancialStatement && hasPhonNumber) - { - var phoneNumbers = phoneNumberList.Where(x => x.InstitutionContractId == item.Id) - .Select(x => new CreateContactInfo - { - PhoneType = x.PhoneType, - PhoneNumber = x.PhoneNumber, + // if (hasFinancialStatement && hasPhonNumber) + // { + // var phoneNumbers = phoneNumberList.Where(x => x.InstitutionContractId == item.Id) + // .Select(x => new CreateContactInfo + // { + // PhoneType = x.PhoneType, + // PhoneNumber = x.PhoneNumber, - InstitutionContractId = x.InstitutionContractId, - SendSms = x.SendSms - }).Where(x => x.PhoneNumber.Length == 11).ToList(); + // InstitutionContractId = x.InstitutionContractId, + // SendSms = x.SendSms + // }).Where(x => x.PhoneNumber.Length == 11).ToList(); - var transactions = financialStatmentList.FirstOrDefault(x => - x.ContractingPartyId == item.ContractingPartyId); + // var transactions = financialStatmentList.FirstOrDefault(x => + // x.ContractingPartyId == item.ContractingPartyId); - var debtor = transactions.FinancialTransactionViewModels.Sum(x => x.Deptor); - var creditor = transactions.FinancialTransactionViewModels.Sum(x => x.Creditor); + // var debtor = transactions.FinancialTransactionViewModels.Sum(x => x.Deptor); + // var creditor = transactions.FinancialTransactionViewModels.Sum(x => x.Creditor); - var id = $"{item.ContractingPartyId}"; - var aprove = $"{transactions.Id}"; - var balance = debtor - creditor; + // var id = $"{item.ContractingPartyId}"; + // var aprove = $"{transactions.Id}"; + // var balance = debtor - creditor; - if (balance > 0) // اگر بدهکار بود - { + // if (balance > 0) // اگر بدهکار بود + // { - if (isLegal) - { - if (item.OfficialCompany == "Official") // حقوقی بدهکار رسمی - { - var balanceToMoney = balance.ToMoney(); + // if (isLegal) + // { + // if (item.OfficialCompany == "Official") // حقوقی بدهکار رسمی + // { + // var balanceToMoney = balance.ToMoney(); - foreach (var number in phoneNumbers) - { + // foreach (var number in phoneNumbers) + // { - var isLastAlarmSend = _context.SmsResults.Any(x => ( - x.ContractingPatyId == contractingParty.Id && - x.Mobile == number.PhoneNumber) && (x.TypeOfSms == "اقدام قضایی" || x.TypeOfSms == "هشدار دوم")); - var t = warningSentSms.Any(x=> x.) - if (!string.IsNullOrWhiteSpace(number.PhoneNumber) && - number.PhoneNumber.Length == 11 && !isSend && !isLastAlarmSend) - { + // var isLastAlarmSend = _context.SmsResults.Any(x => ( + // x.ContractingPatyId == contractingParty.Id && + // x.Mobile == number.PhoneNumber) && (x.TypeOfSms == "اقدام قضایی" || x.TypeOfSms == "هشدار دوم")); + // var t = warningSentSms.Any(x=> x.) + // if (!string.IsNullOrWhiteSpace(number.PhoneNumber) && + // number.PhoneNumber.Length == 11 && !isSend && !isLastAlarmSend) + // { - var smsResult = _smsService.MonthlyBill(number.PhoneNumber, 608443, - partyName, - balanceToMoney, id, aprove); - Thread.Sleep(1000); - if (smsResult.IsSuccedded) - { - var createSmsResult = new SmsResult(smsResult.MessageId, - smsResult.Message, typeOfSms, partyName, number.PhoneNumber, - item.ContractingPartyId, item.Id); - _smsResultRepository.Create(createSmsResult); - _smsResultRepository.SaveChanges(); - Thread.Sleep(1000); - } + // var smsResult = _smsService.MonthlyBill(number.PhoneNumber, 608443, + // partyName, + // balanceToMoney, id, aprove); + // Thread.Sleep(1000); + // if (smsResult.IsSuccedded) + // { + // var createSmsResult = new SmsResult(smsResult.MessageId, + // smsResult.Message, typeOfSms, partyName, number.PhoneNumber, + // item.ContractingPartyId, item.Id); + // _smsResultRepository.Create(createSmsResult); + // _smsResultRepository.SaveChanges(); + // Thread.Sleep(1000); + // } - } - } + // } + // } - } - else if (item.OfficialCompany == "NotOfficial") // حقوقی بدهکار غیر رسمی - { - var balanceToMoney = balance.ToMoney(); - foreach (var number in phoneNumbers) - { - var isSend = _context.SmsResults.Any(x => - x.ContractingPatyId == contractingParty.Id && - x.Mobile == number.PhoneNumber && x.TypeOfSms == typeOfSms); - var isLastAlarmSend = _context.SmsResults.Any(x => ( - x.ContractingPatyId == contractingParty.Id && - x.Mobile == number.PhoneNumber) && (x.TypeOfSms == "اقدام قضایی" || x.TypeOfSms == "هشدار دوم")); - if (!string.IsNullOrWhiteSpace(number.PhoneNumber) && - number.PhoneNumber.Length == 11 && !isSend && !isLastAlarmSend) - { + // } + // else if (item.OfficialCompany == "NotOfficial") // حقوقی بدهکار غیر رسمی + // { + // var balanceToMoney = balance.ToMoney(); + // foreach (var number in phoneNumbers) + // { + // var isSend = _context.SmsResults.Any(x => + // x.ContractingPatyId == contractingParty.Id && + // x.Mobile == number.PhoneNumber && x.TypeOfSms == typeOfSms); + // var isLastAlarmSend = _context.SmsResults.Any(x => ( + // x.ContractingPatyId == contractingParty.Id && + // x.Mobile == number.PhoneNumber) && (x.TypeOfSms == "اقدام قضایی" || x.TypeOfSms == "هشدار دوم")); + // if (!string.IsNullOrWhiteSpace(number.PhoneNumber) && + // number.PhoneNumber.Length == 11 && !isSend && !isLastAlarmSend) + // { - var smsResult = _smsService.MonthlyBill(number.PhoneNumber, 351691, - partyName, - balanceToMoney, id, aprove); - Thread.Sleep(1000); - if (smsResult.IsSuccedded) - { - var createSmsResult = new SmsResult(smsResult.MessageId, - smsResult.Message, typeOfSms, partyName, number.PhoneNumber, - item.ContractingPartyId, item.Id); - _smsResultRepository.Create(createSmsResult); - _smsResultRepository.SaveChanges(); - Thread.Sleep(1000); - } + // var smsResult = _smsService.MonthlyBill(number.PhoneNumber, 351691, + // partyName, + // balanceToMoney, id, aprove); + // Thread.Sleep(1000); + // if (smsResult.IsSuccedded) + // { + // var createSmsResult = new SmsResult(smsResult.MessageId, + // smsResult.Message, typeOfSms, partyName, number.PhoneNumber, + // item.ContractingPartyId, item.Id); + // _smsResultRepository.Create(createSmsResult); + // _smsResultRepository.SaveChanges(); + // Thread.Sleep(1000); + // } - } - } + // } + // } - } - } - else - { - if (item.OfficialCompany == "Official") // حقیقی بدهکار رسمی - { - var balanceToMoney = balance.ToMoney(); + // } + // } + // else + // { + // if (item.OfficialCompany == "Official") // حقیقی بدهکار رسمی + // { + // var balanceToMoney = balance.ToMoney(); - foreach (var number in phoneNumbers) - { - var isSend = _context.SmsResults.Any(x => - x.ContractingPatyId == contractingParty.Id && - x.Mobile == number.PhoneNumber && x.TypeOfSms == typeOfSms); - var isLastAlarmSend = _context.SmsResults.Any(x => ( - x.ContractingPatyId == contractingParty.Id && - x.Mobile == number.PhoneNumber) && (x.TypeOfSms == "اقدام قضایی" || x.TypeOfSms == "هشدار دوم")); - if (!string.IsNullOrWhiteSpace(number.PhoneNumber) && - number.PhoneNumber.Length == 11 && !isSend && !isLastAlarmSend) - { + // foreach (var number in phoneNumbers) + // { + // var isSend = _context.SmsResults.Any(x => + // x.ContractingPatyId == contractingParty.Id && + // x.Mobile == number.PhoneNumber && x.TypeOfSms == typeOfSms); + // var isLastAlarmSend = _context.SmsResults.Any(x => ( + // x.ContractingPatyId == contractingParty.Id && + // x.Mobile == number.PhoneNumber) && (x.TypeOfSms == "اقدام قضایی" || x.TypeOfSms == "هشدار دوم")); + // if (!string.IsNullOrWhiteSpace(number.PhoneNumber) && + // number.PhoneNumber.Length == 11 && !isSend && !isLastAlarmSend) + // { - var smsResult = _smsService.MonthlyBill(number.PhoneNumber, 190430, - partyName, - balanceToMoney, id, aprove); - Thread.Sleep(1000); - if (smsResult.IsSuccedded) - { - var createSmsResult = new SmsResult(smsResult.MessageId, - smsResult.Message, typeOfSms, partyName, number.PhoneNumber, - item.ContractingPartyId, item.Id); - _smsResultRepository.Create(createSmsResult); - _smsResultRepository.SaveChanges(); - Thread.Sleep(1000); - } - } - } + // var smsResult = _smsService.MonthlyBill(number.PhoneNumber, 190430, + // partyName, + // balanceToMoney, id, aprove); + // Thread.Sleep(1000); + // if (smsResult.IsSuccedded) + // { + // var createSmsResult = new SmsResult(smsResult.MessageId, + // smsResult.Message, typeOfSms, partyName, number.PhoneNumber, + // item.ContractingPartyId, item.Id); + // _smsResultRepository.Create(createSmsResult); + // _smsResultRepository.SaveChanges(); + // Thread.Sleep(1000); + // } + // } + // } - } - else if (item.OfficialCompany == "NotOfficial") // حقیقی بدهکار غیر رسمی - { - var balanceToMoney = balance.ToMoney(); + // } + // else if (item.OfficialCompany == "NotOfficial") // حقیقی بدهکار غیر رسمی + // { + // var balanceToMoney = balance.ToMoney(); - foreach (var number in phoneNumbers) - { - var isSend = _context.SmsResults.Any(x => - x.ContractingPatyId == contractingParty.Id && - x.Mobile == number.PhoneNumber && x.TypeOfSms == typeOfSms); - var isLastAlarmSend = _context.SmsResults.Any(x => ( - x.ContractingPatyId == contractingParty.Id && - x.Mobile == number.PhoneNumber) && (x.TypeOfSms == "اقدام قضایی" || x.TypeOfSms == "هشدار دوم")); - if (!string.IsNullOrWhiteSpace(number.PhoneNumber) && - number.PhoneNumber.Length == 11 && !isSend && !isLastAlarmSend) - { - var smsResult = _smsService.MonthlyBill(number.PhoneNumber, 412829, - partyName, - balanceToMoney, id, aprove); - Thread.Sleep(1000); - if (smsResult.IsSuccedded) - { - var createSmsResult = new SmsResult(smsResult.MessageId, - smsResult.Message, typeOfSms, partyName, number.PhoneNumber, - item.ContractingPartyId, item.Id); - _smsResultRepository.Create(createSmsResult); - _smsResultRepository.SaveChanges(); - Thread.Sleep(1000); - } + // foreach (var number in phoneNumbers) + // { + // var isSend = _context.SmsResults.Any(x => + // x.ContractingPatyId == contractingParty.Id && + // x.Mobile == number.PhoneNumber && x.TypeOfSms == typeOfSms); + // var isLastAlarmSend = _context.SmsResults.Any(x => ( + // x.ContractingPatyId == contractingParty.Id && + // x.Mobile == number.PhoneNumber) && (x.TypeOfSms == "اقدام قضایی" || x.TypeOfSms == "هشدار دوم")); + // if (!string.IsNullOrWhiteSpace(number.PhoneNumber) && + // number.PhoneNumber.Length == 11 && !isSend && !isLastAlarmSend) + // { + // var smsResult = _smsService.MonthlyBill(number.PhoneNumber, 412829, + // partyName, + // balanceToMoney, id, aprove); + // Thread.Sleep(1000); + // if (smsResult.IsSuccedded) + // { + // var createSmsResult = new SmsResult(smsResult.MessageId, + // smsResult.Message, typeOfSms, partyName, number.PhoneNumber, + // item.ContractingPartyId, item.Id); + // _smsResultRepository.Create(createSmsResult); + // _smsResultRepository.SaveChanges(); + // Thread.Sleep(1000); + // } - } - } + // } + // } - } - } - } - } - } - } - } - catch (Exception e) - { + // } + // } + // } + // } + // } + // } + // } + // catch (Exception e) + // { - string name = item.ContractingPartyName.Length > 18 ? item.ContractingPartyName.Substring(0, 18) : item.ContractingPartyName; - string errMess = $"{name}-خطا"; - _smsService.Alarm("09114221321", errMess); - _logger.LogError(e, "BlueWarningSms"); - } - } - } + // string name = item.ContractingPartyName.Length > 18 ? item.ContractingPartyName.Substring(0, 18) : item.ContractingPartyName; + // string errMess = $"{name}-خطا"; + // _smsService.Alarm("09114221321", errMess); + // _logger.LogError(e, "BlueWarningSms"); + // } + // } + //} #endregion