Esempio n. 1
0
        /// <summary>
        /// Gets the members by search.
        /// </summary>
        /// <param name="memberSearchBO">The member search bo.</param>
        /// <returns></returns>
        public async Task <List <MemberDataBO> > GetMembersBySearch(MemberSearchBO memberSearchBO)
        {
            if (memberSearchBO == null)
            {
                throw new CustomException(nameof(MemberConstants.MemberSearchServiceGetMembersBySearchInputEmptyErrorCode));
            }
            var response = await _memberSearchDataAccess.GetMembersBySearch(memberSearchBO);

            return(response);
        }
Esempio n. 2
0
        /// <summary>
        /// Gets the members by search.
        /// </summary>
        /// <param name="memberSearchBO">The member search bo.</param>
        /// <returns></returns>
        public async Task <List <MemberDataBO> > GetMembersBySearch(MemberSearchBO memberSearchBO)
        {
            var response = new List <MemberDataBO>();

            if (memberSearchBO != null)
            {
                var memberRepo = _unitOfWork.GetRepository <Member>();
                var states     = await _unitOfWork.GetRepository <State>().GetPagedListAsync(a => a, pageIndex:
                                                                                             BrokerConstants.PAGE_INDEX, pageSize: BrokerConstants.PAGE_SIZE);

                var members = await memberRepo.GetPagedListAsync(a => a,
                                                                 predicate : (member => !string.IsNullOrEmpty(memberSearchBO.MemberId)
                                    ? member.ExternalId.Trim().ToLower() == memberSearchBO.MemberId.Trim().ToLower() : true),
                                                                 include : src => src
                                                                 .Include(m => m.MemberDetail)
                                                                 .Where(m => !string.IsNullOrEmpty(memberSearchBO.EmailId)
                                    ? memberSearchBO.EmailId.Trim().Equals(m.MemberDetail.EmailId) : true)
                                                                 .Where(m => !string.IsNullOrEmpty(memberSearchBO.FirstName)
                                    ? m.MemberDetail.FirstName.ToLower().Contains(memberSearchBO.FirstName.Trim().ToLower()) : true)
                                                                 .Where(m => !string.IsNullOrEmpty(memberSearchBO.LastName)
                                    ? m.MemberDetail.LastName.ToLower().Contains(memberSearchBO.LastName.Trim().ToLower()) : true)
                                                                 .Where(m => !string.IsNullOrEmpty(memberSearchBO.PhoneNumber)
                                    ? m.MemberDetail.PhoneNumber.Contains(memberSearchBO.PhoneNumber.Trim()) : true)
                                                                 .Include(m => m.MemberAddress)
                                                                 .Where(m => memberSearchBO.ZipCode != 0 ?
                                                                        m.MemberAddress.FirstOrDefault(a => a.AddressTypeId == 1).ZipCode.Contains(memberSearchBO.ZipCode.ToString().Trim())
                                    : true)
                                                                 .Include(m => m.MemberSubscription),
                                                                 pageIndex : memberSearchBO.PageNumber,
                                                                 pageSize : memberSearchBO.PageSize).ConfigureAwait(false);

                response = members.Items.Select(m => new MemberDataBO
                {
                    ExternalId  = m.ExternalId,
                    UserId      = m.UserId,
                    FirstName   = m.MemberDetail?.FirstName,
                    LastName    = m.MemberDetail?.LastName,
                    BrokerId    = m.MemberSubscription.Select(ms => ms.BrokerId).FirstOrDefault(),
                    GroupId     = m.MemberSubscription.Select(ms => ms.GroupId).FirstOrDefault(),
                    PhoneNumber = m.MemberDetail.PhoneNumber,
                    Email       = m.MemberDetail.EmailId,
                    State       = states.Items.FirstOrDefault(x => x.StateCode == m.MemberAddress?.FirstOrDefault(a => a.AddressTypeId == 1)?.StateCode)?.StateName
                }).ToList();
            }
            return(response);
        }
Esempio n. 3
0
 public async Task <List <MemberDataBO> > GetMembersBySearch(MemberSearchBO memberSearchBO)
 {
     return(await _memberSearchService.GetMembersBySearch(memberSearchBO));
 }