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())); } }