コード例 #1
0
        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)));
        }
コード例 #2
0
        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)));
        }