Esempio n. 1
0
        public static DataTableResponseDataModel <T> GetDataTableResponse <T>(this IQueryable <T> data, DataTableParamModel dataTableParamModel) where T : class, new()
        {
            var totalRecords = data.Count(); // annoying this, as it causes an extra evaluation..

            var filters = new DataTableFiltering();

            var outputProperties = DataTableTypeInfo <T> .Properties;

            var filteredData = filters.ApplyFiltersAndSort(dataTableParamModel, data, outputProperties);

            var totalDisplayRecords = filteredData.Count();

            var skipped = filteredData.Skip(dataTableParamModel.DisplayStart);

            var page = (dataTableParamModel.DisplayLength <= 0 ? skipped : skipped.Take(dataTableParamModel.DisplayLength)).ToArray();

            var result = new DataTableResponseDataModel <T>
            {
                TotalRecord        = totalRecords,
                TotalDisplayRecord = totalDisplayRecords,
                Echo = dataTableParamModel.Echo,
                Data = page.Cast <object>().ToArray()
            };

            return(result);
        }
Esempio n. 2
0
        public static DTResult <Country> GetDataFromBL(HttpContext context, List <DTColumn> columns)
        {
            DTResult <Country> dataCountry = new DTResult <Country>();
            DTParameters       param       = DataTableCommon.SetParameters(context, columns);

            try
            {
                using (var db = new AnroAppEntities())
                {
                    var query = db.Countries.AsQueryable().Where(a => (a.CountryName.Contains(param.Search.Value) || param.Search.Value == null));;
                    dataCountry = DataTableFiltering <Country> .GetResult(param, query);
                }
            }
            catch (Exception ex)
            {
                Console.Write(ex);
            }

            return(dataCountry);
        }