public IPagedList <RestaurantMerchantViewModel> SearchRestaurantMerchant(RestaurantMerchantSearchModel model) { var sortString = !string.IsNullOrEmpty(model.SortString) ? model.SortString : "CreatedDate DESC"; var userId = _workContext.UserGuid; var userRoleId = _workContext.UserRoleId; IQueryable <RestaurantMerchantViewModel> query; if (userRoleId != (int)UserRoleEnum.DiningMerchantManager) { query = (from rm in _dbDiningContext.RestaurantMerchants 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 <RestaurantMerchantViewModel>(rm)).OrderBy(sortString).AsQueryable(); } else { query = (from rm in _dbDiningContext.RestaurantMerchants join dam in _dbDiningContext.RestaurantMerchantAqmgts on rm.Id equals dam.MerchantFid where rm.Deleted == false && dam.Deleted == false && dam.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 <RestaurantMerchantViewModel>(rm)).OrderBy(sortString).AsQueryable(); } return(new PagedList <RestaurantMerchantViewModel>(query, model.PageIndex, model.PageSize)); }
public IActionResult SearchrantMerchants([FromQuery] RestaurantMerchantSearchModel searchModel = null) { try { var result = _restaurantMerchantService.SearchRestaurantMerchant(searchModel); return(Ok(result)); } catch (Exception ex) { return(BadRequest(ex.StackTrace.ToString())); } }