public GridViewModel GetSearchResult(SearchRequest request)
        {
            var model = BusinessMapper.CreateGridViewModel();

            var pageResult  = QueryListHelper.SortResults(GetAllSites(), request);
            var serviceRows = pageResult
                              .Where(p => string.IsNullOrEmpty(request.SearchText) || p.BusinessName.StartsWith(request.SearchText, StringComparison.CurrentCultureIgnoreCase) ||
                                     p.ContactPerson.StartsWith(request.SearchText, StringComparison.CurrentCultureIgnoreCase) ||
                                     p.ContactEmail.StartsWith(request.SearchText, StringComparison.CurrentCultureIgnoreCase) ||
                                     p.ContactPhone.StartsWith(request.SearchText, StringComparison.CurrentCultureIgnoreCase) ||
                                     p.City.StartsWith(request.SearchText, StringComparison.CurrentCultureIgnoreCase) ||
                                     p.Postcode.StartsWith(request.SearchText, StringComparison.CurrentCultureIgnoreCase))
                              .Select(BusinessMapper.BindGridData);

            model.Rows = serviceRows.ToPagedList(request.Page ?? 1, request.PageSize);

            return(model);
        }