Exemple #1
0
        public IPagedList <YachtMerchantViewModel> SearchYachtMerchant(YachtMerchantSearchModel model)
        {
            var sortString = !string.IsNullOrEmpty(model.SortString) ? model.SortString : "CreatedDate DESC";
            var userId     = _workContext.UserGuid;
            var userRoleId = _workContext.UserRoleId;
            IQueryable <YachtMerchantViewModel> query;

            if (userRoleId != (int)UserRoleEnum.YachtMerchantManager)
            {
                query = (from rm in _dbYachtContext.YachtMerchants
                         where rm.Deleted == false &&
                         (string.IsNullOrEmpty(model.SearchString) || rm.MerchantName.Contains(model.SearchString) || rm.EmailAddress1.Contains(model.SearchString) || rm.EmailAddress2.Contains(model.SearchString) || rm.ContactNumber1.Contains(model.SearchString) || rm.ContactNumber2.Contains(model.SearchString)) &&
                         (string.IsNullOrEmpty(model.Country) || rm.Country.Contains(model.Country)) &&
                         (string.IsNullOrEmpty(model.City) || rm.City.Contains(model.City)) &&
                         (string.IsNullOrEmpty(model.State) || rm.State.Contains(model.State))
                         select _mapper.Map <YachtMerchantViewModel>(rm)).OrderBy(sortString).AsQueryable();
            }
            else
            {
                query = (from rm in _dbYachtContext.YachtMerchants
                         join yam in _dbYachtContext.YachtMerchantAqmgts on rm.Id equals yam.MerchantFid
                         where rm.Deleted == false && yam.Deleted == false && yam.AqadminUserFid.Equals(userId) &&
                         (string.IsNullOrEmpty(model.SearchString) || rm.MerchantName.Contains(model.SearchString) || rm.EmailAddress1.Contains(model.SearchString) || rm.EmailAddress2.Contains(model.SearchString) || rm.ContactNumber1.Contains(model.SearchString) || rm.ContactNumber2.Contains(model.SearchString)) &&
                         (string.IsNullOrEmpty(model.Country) || rm.Country.Contains(model.Country)) &&
                         (string.IsNullOrEmpty(model.City) || rm.City.Contains(model.City)) &&
                         (string.IsNullOrEmpty(model.State) || rm.State.Contains(model.State))
                         select _mapper.Map <YachtMerchantViewModel>(rm)).OrderBy(sortString).AsQueryable();
            }

            return(new PagedList <YachtMerchantViewModel>(query, model.PageIndex, model.PageSize));
        }
 public IActionResult SearchYachtMerchants([FromQuery] YachtMerchantSearchModel searchModel = null)
 {
     try
     {
         var result = _yachtMerchantService.SearchYachtMerchant(searchModel);
         return(Ok(result));
     }
     catch (Exception ex)
     {
         return(BadRequest(ex.StackTrace.ToString()));
     }
 }