public string GetTests()
        {
            //get the parameters from the Datatable
            var dtParams = new DtParameters(Request);

            var entities     = _rep.GetTests();
            int totalRecords = entities.Count();

            if (dtParams.IsBeingSearched)
            {
                entities = entities.Where(e => e.Name.ToLower().Contains(dtParams.SearchValue) ||
                                          e.TestType.ShortName.ToLower().Contains(dtParams.SearchValue) ||
                                          e.TestCategory.Name.ToLower().Contains(dtParams.SearchValue));
            }

            int filteredRecords = entities.Count();

            if (dtParams.IsBeingFiltered)
            {
                entities = Filter(entities, dtParams.FilterColIndex, dtParams.FilterAsc);
            }
            else
            {
                //defaultOrder
                entities = entities.OrderBy(c => c.TestCategory.Name)
                           .ThenBy(c => c.TestType.ShortName)
                           .ThenBy(c => c.Name)
                           .ThenBy(c => c.AcredetationLevel.Level);
            }

            var data = entities.Skip(dtParams.Skip).Take(dtParams.PageSize)
                       .ToList().Select(t => new TestVM
            {
                TestType    = t.TestType.ShortName,
                Name        = t.Name,
                Level       = t.AcredetationLevel.Level,
                UnitName    = t.UnitName,
                Temperature = t.Temperature,
                Category    = t.TestCategory.Name,
                Id          = t.Id
            });

            var jsonResult = new JqueryListResult <TestVM>(
                data,
                dtParams.Draw,
                filteredRecords,
                totalRecords);

            var json = JsonConvert.SerializeObject(jsonResult);

            return(json);
        }
        public string GetClients()
        {
            //get the parameters from the Datatable
            var dtParams = new DtParameters(Request);

            var entities     = _rep.GetClients();
            int totalRecords = entities.Count();

            if (dtParams.IsBeingSearched)
            {
                entities = entities.Where(e => e.Name.ToLower().Contains(dtParams.SearchValue) ||
                                          (e.Mobile != null ? e.Mobile.ToLower().Contains(dtParams.SearchValue) : false));
            }

            int filteredRecords = entities.Count();

            if (dtParams.IsBeingFiltered)
            {
                entities = Filter(entities, dtParams.FilterColIndex, dtParams.FilterAsc);
            }
            else
            {
                //defaultOrder
                entities = entities.OrderBy(e => e.Name);
            }

            var data = entities.Skip(dtParams.Skip).Take(dtParams.PageSize)
                       .ToList().Select(c => new ClientW
            {
                Name   = c.Name,
                Mobile = c.Mobile,
                Id     = c.Id
            });

            var jsonResult = new JqueryListResult <ClientW>(
                data,
                dtParams.Draw,
                filteredRecords,
                totalRecords);

            var json = JsonConvert.SerializeObject(jsonResult);

            return(json);
        }