예제 #1
0
 public int TotalCompaniesFiltered(DataTableParamModel tableParam)
 {
     if (!string.IsNullOrEmpty(tableParam.Search.Value))
     {
         var filterCol = from i in tableParam.Columns
                         where i.Searchable
                         select i.Name;
         StringBuilder filterString = new StringBuilder();
         bool beginFlag = true;
         foreach (string col in filterCol) // Loop through all strings
         {
             if (beginFlag)
             {
                 beginFlag = false;
             }
             else
             {
                 filterString.Append(" Or ");
             }
             filterString.AppendFormat("{0}.ToLower().Contains(@0)", col);
         }
         return _session.Query<Company>()
                         .Where(filterString.ToString(), tableParam.Search.Value.ToLower()).Count();
     }
     return _session.Query<Company>().Count();
 }
예제 #2
0
        public IList<Company> Companies(DataTableParamModel tableParam)
        {
            IQueryable<Company> companies;
            if (!string.IsNullOrEmpty(tableParam.Search.Value))
            {
                var filterCol = from i in tableParam.Columns
                                where i.Searchable
                                select i.Name;

                StringBuilder filterString =  new StringBuilder();
                bool beginFlag = true;
                foreach (string col in filterCol) // Loop through all strings
                {
                    if(beginFlag)
                    {
                        beginFlag = false;
                    }
                    else
                    {
                        filterString.Append(" Or ");
                    }
                    filterString.AppendFormat("{0}.ToLower().Contains(@0)", col);
                }
                companies = _session.Query<Company>()
                                .Where(filterString.ToString(), tableParam.Search.Value.ToLower());
            }
            else
            {
                companies = _session.Query<Company>();
            }
            int sortColIndex = tableParam.Order[0].Column;
            if (tableParam.Columns[sortColIndex].Orderable)
            {
                companies = companies.OrderBy(tableParam.Columns[sortColIndex].Name + ((tableParam.Order[0].Dir == "desc") ? " descending" : ""));
            }

            return companies.Skip(tableParam.Start).Take(tableParam.Length).ToList();
        }