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));
        }
Exemple #2
0
 public IActionResult SearchrantMerchants([FromQuery] RestaurantMerchantSearchModel searchModel = null)
 {
     try
     {
         var result = _restaurantMerchantService.SearchRestaurantMerchant(searchModel);
         return(Ok(result));
     }
     catch (Exception ex)
     {
         return(BadRequest(ex.StackTrace.ToString()));
     }
 }