new metod to InstitutionContract
This commit is contained in:
@@ -13,7 +13,8 @@ public interface IInstitutionContractRepository : IRepository<long, InstitutionC
|
||||
|
||||
EditInstitutionContract GetDetails(long id);
|
||||
EditInstitutionContract GetFirstContract(long contractingPartyId, string typeOfContract);
|
||||
|
||||
List<InstitutionContractViewModel> InstitutionContractsWithoutAccount();
|
||||
List<InstitutionContractViewModel> ContractWithoutValidContactInfo();
|
||||
List<InstitutionContractViewModel> Search(InstitutionContractSearchModel searchModel);
|
||||
List<InstitutionContractViewModel> NewSearch(InstitutionContractSearchModel searchModel);
|
||||
List<InstitutionContractViewModel> PrintAll(List<long> id);
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using _0_Framework.Application;
|
||||
using _0_Framework.InfraStructure;
|
||||
using Company.Domain.ContractingPartyAccountAgg;
|
||||
@@ -100,7 +101,81 @@ public class InstitutionContractRepository : RepositoryBase<long, InstitutionCon
|
||||
.Where(x => x.ContractingPartyId == contractingPartyId && x.TypeOfContract == typeOfContract).OrderBy(x => x.ExtensionNo).FirstOrDefault();
|
||||
}
|
||||
|
||||
public List<InstitutionContractViewModel> InstitutionContractsWithoutAccount()
|
||||
{
|
||||
var now = DateTime.Now;
|
||||
var contractHasClientAccountList = _context.InstitutionContractSet.AsSplitQuery().Where(x => x.IsActiveString == "true" && x.ContractStartGr <= now && x.ContractEndGr >= now)
|
||||
.Join(_context.ContractingPartyAccounts,
|
||||
contract => contract.ContractingPartyId,
|
||||
acc => acc.PersonalContractingPartyId,
|
||||
((contract, account) => new {contract, account})).Select(x=>x.contract);
|
||||
|
||||
var allActiveContracts = _context.InstitutionContractSet.Where(x =>
|
||||
x.IsActiveString == "true" && x.ContractStartGr <= now && x.ContractEndGr >= now);
|
||||
|
||||
var contractWithoutAccountList = allActiveContracts.Except(contractHasClientAccountList);
|
||||
|
||||
return contractWithoutAccountList.Select(x => new InstitutionContractViewModel
|
||||
{
|
||||
Id = x.id,
|
||||
ContractNo = x.ContractNo,
|
||||
ContractStartGr = x.ContractStartGr,
|
||||
ContractStartFa = x.ContractStartFa,
|
||||
ContractEndGr = x.ContractEndGr,
|
||||
ContractEndFa = x.ContractEndFa,
|
||||
RepresentativeId = x.RepresentativeId,
|
||||
RepresentativeName = x.RepresentativeName,
|
||||
ContractingPartyName = x.ContractingPartyName,
|
||||
ContractingPartyId = x.ContractingPartyId,
|
||||
ContractAmount = x.ContractAmount.ToMoney(),
|
||||
TotalAmount = x.TotalAmount.ToMoney(),
|
||||
SearchAmount = x.ContractAmount,
|
||||
IsActiveString = x.IsActiveString,
|
||||
OfficialCompany = x.OfficialCompany,
|
||||
TypeOfContract = x.TypeOfContract,
|
||||
|
||||
}).ToList();
|
||||
|
||||
}
|
||||
|
||||
|
||||
public List<InstitutionContractViewModel> ContractWithoutValidContactInfo()
|
||||
{
|
||||
var now = DateTime.Now;
|
||||
var contractHasContactInfo = _context.InstitutionContractSet.AsSplitQuery().Where(x => x.IsActiveString == "true" && x.ContractStartGr <= now && x.ContractEndGr >= now)
|
||||
.Join(_context.InstitutionContractContactInfos,
|
||||
contract => contract.id,
|
||||
contactInfo => contactInfo.InstitutionContractId,
|
||||
((contract, contactInfo) => new { contract, contactInfo }))
|
||||
.Where(x => x.contactInfo.SendSms && x.contactInfo.Position == "طرف قرارداد" && x.contactInfo.PhoneType == "شماره همراه")
|
||||
.Select(x => x.contract);
|
||||
|
||||
var allvalidCcntactInfoContracts = _context.InstitutionContractSet.Where(x =>
|
||||
x.IsActiveString == "true" && x.ContractStartGr <= now && x.ContractEndGr >= now);
|
||||
|
||||
var contractWithoutAccountList = allvalidCcntactInfoContracts.Except(contractHasContactInfo);
|
||||
|
||||
return contractWithoutAccountList.Select(x => new InstitutionContractViewModel
|
||||
{
|
||||
Id = x.id,
|
||||
ContractNo = x.ContractNo,
|
||||
ContractStartGr = x.ContractStartGr,
|
||||
ContractStartFa = x.ContractStartFa,
|
||||
ContractEndGr = x.ContractEndGr,
|
||||
ContractEndFa = x.ContractEndFa,
|
||||
RepresentativeId = x.RepresentativeId,
|
||||
RepresentativeName = x.RepresentativeName,
|
||||
ContractingPartyName = x.ContractingPartyName,
|
||||
ContractingPartyId = x.ContractingPartyId,
|
||||
ContractAmount = x.ContractAmount.ToMoney(),
|
||||
TotalAmount = x.TotalAmount.ToMoney(),
|
||||
SearchAmount = x.ContractAmount,
|
||||
IsActiveString = x.IsActiveString,
|
||||
OfficialCompany = x.OfficialCompany,
|
||||
TypeOfContract = x.TypeOfContract,
|
||||
|
||||
}).ToList();
|
||||
}
|
||||
public List<InstitutionContractViewModel> Search(InstitutionContractSearchModel searchModel)
|
||||
{
|
||||
//var stored = _context.InstitutionContractSet.FromSqlInterpolated($"SelectQuery_InstitutionContract").AsNoTracking()
|
||||
|
||||
Reference in New Issue
Block a user