public ListResultDto <InsurersMasterDto> GetInsurerMasters(GetInsurerInput input) { var query = _insurersRepository.GetAll() .WhereIf( !input.Filter.IsNullOrWhiteSpace(), u => u.InsurerName.Contains(input.Filter) ) .OrderByDescending(p => p.LastModificationTime) .ToList(); var countries = _countryRepository.GetAll().AsNoTracking().ToList(); var insurerMaster = ( from f in query join v in countries on f.CountryID equals v.Id select new InsurersMasterDto { Id = f.Id, InsurerName = f.InsurerName, Country = v.Country, Mask = f.Mask, IsActive = f.IsActive }).ToList(); return(new ListResultDto <InsurersMasterDto>(ObjectMapper.Map <List <InsurersMasterDto> >(insurerMaster))); }
public ListResultDto <InsurersListDto> GetInsurers(GetInsurerInput input) { int countryId = GetCountryIdByCode(); var insurerMaster = _insurersRepository.GetAll() .WhereIf( !input.Filter.IsNullOrWhiteSpace(), u => u.InsurerName.Contains(input.Filter) ) .Where(p => p.CountryID.Equals(countryId) && p.IsActive.Equals(true)) .OrderByDescending(p => p.LastModificationTime) .ToList(); var insurers = _insurersubRepository.GetAll().Where(p => p.TenantID == _abpSession.TenantId) .WhereIf( !input.Filter.IsNullOrWhiteSpace(), u => u.ContactEmail.Contains(input.Filter) || u.ContactName.Contains(input.Filter) ) .OrderByDescending(p => p.LastModificationTime) .ToList(); var finalQuery = (from master in insurerMaster join v in insurers on master.Id equals v.InsurerID into ps from y1 in ps.DefaultIfEmpty() select new InsurersListDto { Id = master.Id, InsurerID = y1 == null ? 0 : y1.InsurerID, TenantID = y1 == null ? 0 : y1.TenantID, InsurerName = master.InsurerName, ContactName = y1 == null ? "--" : y1.ContactName, ContactEmail = y1 == null ? "--" : y1.ContactEmail, IsActive = y1 == null ? false : y1.IsActive, SubpkId = y1 == null ? 0 : y1.Id, }).ToList(); return(new ListResultDto <InsurersListDto>(ObjectMapper.Map <List <InsurersListDto> >(finalQuery))); }