public JsonResult DatasByDevice(int DeviceId, DataTableAjaxPostModel model, string minDateStr = null, string maxDateStr = null) { var predicateMain = InitDateRange <Data>(minDateStr, maxDateStr, d => d.Timestamp); var dbSet0 = db.Datas .Where(d => d.DeviceAttributesId == DeviceId); var fullCount = dbSet0.Count(); var dbSet = dbSet0 .Where(predicateMain) .Include(d => d.DeviceAttributes) .Select(d => new DataSelect { Id = d.Id, BatteryLevel = d.BatteryLevel, SMSId = d.SMSId, Timestamp = d.Timestamp, WaterLevel = d.WaterLevel }); var res = new DataTablesParser <DataSelect>(Request, dbSet) .Parse(); res.recordsTotal = fullCount; return(Json(res)); }
public JsonResult DiagnosticByDevice(int DeviceId, DataTableAjaxPostModel model, string minDateStr = null, string maxDateStr = null) { var predicateMain = InitDateRange <Diagnostics>(minDateStr, maxDateStr, d => d.ReportTime); var dbSet0 = db.Diagnostics .Where(d => d.DeviceAttributesId == DeviceId); var fullCount = dbSet0.Count(); var dbSet = dbSet0 .Where(predicateMain) .Include(d => d.DeviceAttributes) .Select(d => new DiagnosticsSelect { Id = d.Id, GraceWindowExceeded = d.GraceWindowExceeded, LowBattery = d.LowBattery, LowLevel = d.LowLevel, SMSId = d.SMSId, TimeDifferenceFromDesiredLocalReportTime = d.TimeDifferenceFromDesiredLocalReportTime, UptimeCount = d.UptimeCount, Zeros = d.Zeros, ReportTime = d.ReportTime }); var res = new DataTablesParser <DiagnosticsSelect>(Request, dbSet) .Parse(); res.recordsTotal = fullCount; return(Json(res)); }
public JsonResult Data(DataTablesRequest model) { var data = _menuServices.GetAll().Data.AsQueryable(); var dataTableParser = new DataTablesParser <Menu>(model, data); var formattedList = dataTableParser.Process(); return(Json(formattedList, JsonRequestBehavior.AllowGet)); }
public JsonResult Data(DataTablesRequest model) { var data = _roleManager.Roles.AsQueryable(); var dataTableParser = new DataTablesParser <ApplicationRole>(model, data); var formattedList = dataTableParser.Process(); return(Json(formattedList, JsonRequestBehavior.AllowGet)); }
public JsonResult List() { IQueryable <DocFile> docfiles = context.DocFile; DataTablesParser <DocFile> parser = new DataTablesParser <DocFile>(Request, docfiles); FormatedList <DocFile> list = parser.Parse(); return(Json(list, JsonRequestBehavior.AllowGet)); }
public JsonResult DeviceAttributes(DataTableAjaxPostModel model) { var dbSet = db.DeviceAttributes; var res = new DataTablesParser <DeviceAttributes>(Request, dbSet) .Parse(); return(Json(res)); }
public JsonResult GetUsers(DataTablesRequest model) { string dataPath = ConfigurationManager.AppSettings["UsersPath"]; var repo = new UserRepository(dataPath); var data = repo.GetAll().AsQueryable(); var dataTableParser = new DataTablesParser <User>(model, data); var formattedList = dataTableParser.Process(); return(Json(formattedList, JsonRequestBehavior.AllowGet)); }
public JsonResult GetUsers(DataTablesRequest model) { string dataPath = ConfigurationManager.AppSettings["UsersPath"]; var repo = new UserRepository(dataPath); var data = repo.GetAll().AsQueryable(); var dataTableParser = new DataTablesParser<User>(model, data); var formattedList = dataTableParser.Process(); return Json(formattedList, JsonRequestBehavior.AllowGet); }
public JsonResult List() { var data = _menuService.GetForDataTable(); var parser = new DataTablesParser <MenuDataTableModel>(Request, data); var counter = 1; var result = parser.Parse(); foreach (var item in result.data) { item.Row = counter++; } return(Json(result)); }
public virtual FormatedList <T> DataTables() { IQueryable <T> queryable; var dbQuery = ctx.Set <T>(); queryable = dbQuery.AsQueryable(); var request = HttpContext.Current.Request; var wrapper = new HttpRequestWrapper(request); var parser = new DataTablesParser <T>(wrapper, queryable); var datatable = parser.Parse(); return(datatable); }
public void TotalRecordsTest() { var r = new MockHttpRequest(); var total = 6; //Not all params below are used by the parser. We may support them later var nvparams = TestSupport.CreateParams(); r.Add(nvparams); var result = new DataTablesParser<Person>(r, context.People).Parse(); Console.WriteLine(result.GetQuery()); Assert.AreEqual(total, result.iTotalRecords); }
public void TotalRecordsTest() { var r = new MockHttpRequest(); var total = 6; //Not all params below are used by the parser. We may support them later var nvparams = TestSupport.CreateParams(); r.Add(nvparams); var result = new DataTablesParser <Person>(r, context.People).Parse(); Console.WriteLine(result.GetQuery()); Assert.AreEqual(total, result.iTotalRecords); }
public JsonResult DeviceAttributesLogs(DataTableAjaxPostModel model, string minDateStr = null, string maxDateStr = null) { var predicateMain = InitDateRange <DeviceAttributesLog>(minDateStr, maxDateStr, d => d.UpdateDate); var fullCount = db.DeviceAttributesLogs.Count(); var dbSet = db.DeviceAttributesLogs .Where(predicateMain); var res = new DataTablesParser <DeviceAttributesLog>(Request, dbSet) .Parse(); res.recordsTotal = fullCount; return(Json(res)); }
public JsonResult SMS(DataTableAjaxPostModel model, string minDateStr = null, string maxDateStr = null) { var predicateMain = InitDateRange <SMS>(minDateStr, maxDateStr, d => d.DateReceiving); var fullCount = db.SMS.Count(); var dbSet = db.SMS .Where(predicateMain); var res = new DataTablesParser <SMS>(Request, dbSet) .Parse(); res.recordsTotal = fullCount; return(Json(res)); }
public void TotalRecordsTest() { var r = new MockHttpRequest(); //Not all params below are used by the parser. We may support them later var nvparams = TestSupport.CreateParams(); r.Add(nvparams); var people = TestSupport.CreateData(); var parser = new DataTablesParser<MockPerson>(r, people.AsQueryable()); Console.WriteLine(people.Count); Assert.AreEqual(people.Count,parser.Parse().iTotalRecords); }
public JsonResult List(bool isExpired) { IQueryable <PurchasedProducts> productList = null; if (isExpired) { productList = context.PurchasedProducts.Where(q => q.PurchasedDueDate < DateTime.Today).OrderByDescending(q => q.PurchasedDate); } else { productList = context.PurchasedProducts.Where(q => q.PurchasedDueDate == null || q.PurchasedDueDate >= DateTime.Today).OrderByDescending(q => q.PurchasedDate); } DataTablesParser <PurchasedProducts> parser = new DataTablesParser <PurchasedProducts>(Request, productList); FormatedList <PurchasedProducts> list = parser.Parse(); return(Json(list, JsonRequestBehavior.AllowGet)); }
public void TotalRecordsTest() { var r = new MockHttpRequest(); //Not all params below are used by the parser. We may support them later var nvparams = TestSupport.CreateParams(); r.Add(nvparams); var people = TestSupport.CreateData(); var parser = new DataTablesParser <MockPerson>(r, people.AsQueryable()); Console.WriteLine(people.Count); Assert.AreEqual(people.Count, parser.Parse().iTotalRecords); }
public void TotalDisplayTest() { var r = new MockHttpRequest(); var displayLength = 1; //Not all params below are used by the parser. We may support them later var nvparams = TestSupport.CreateParams(); //Set filter parameter nvparams["sSearch"] = "Cromie"; r.Add(nvparams); var parser = new DataTablesParser<Person>(r, context.People); Assert.AreEqual(displayLength, parser.Parse().iTotalDisplayRecords); }
public void TotalDisplayTest() { var r = new MockHttpRequest(); var displayLength = 1; //Not all params below are used by the parser. We may support them later var nvparams = TestSupport.CreateParams(); //Set filter parameter nvparams["sSearch"] = "Cromie"; r.Add(nvparams); var parser = new DataTablesParser <Person>(r, context.People); Assert.AreEqual(displayLength, parser.Parse().iTotalDisplayRecords); }
protected virtual HttpResponseMessage DataTables(IQueryable <T> queryable) { try { var request = HttpContext.Current.Request; var wrapper = new HttpRequestWrapper(request); var parser = new DataTablesParser <T>(wrapper, queryable); var result = Request.CreateResponse(System.Net.HttpStatusCode.OK, parser.Parse()); return(result); } catch (Exception ex) { var result = Request.CreateResponse(System.Net.HttpStatusCode.NoContent, ex.Message); return(result); } }
public void TotalResultsTest() { var r = new MockHttpRequest(); var resultLength = 3; //Not all params below are used by the parser. We may support them later var nvparams = TestSupport.CreateParams(); //override display length nvparams["iDisplayLength"] = Convert.ToString(resultLength); r.Add(nvparams); var result = new DataTablesParser <Person>(r, context.People).Parse(); Console.WriteLine(result.GetQuery()); Assert.AreEqual(resultLength, result.aaData.Count); }
public JsonResult SMSByDevice(int DeviceId, DataTableAjaxPostModel model, string minDateStr = null, string maxDateStr = null) { var predicateMain = InitDateRange <SMS>(minDateStr, maxDateStr, d => d.DateReceiving); var device = db.DeviceAttributes .Where(d => d.Id == DeviceId) .FirstOrDefault(); var dbSet0 = db.SMS .Where(d => d.From == device.CellNumber); var fullCount = dbSet0.Count(); var dbSet = dbSet0.Where(predicateMain); var res = new DataTablesParser <SMS>(Request, dbSet) .Parse(); res.recordsTotal = fullCount; return(Json(res)); }
public void TotalResultsTest() { var r = new MockHttpRequest(); var resultLength = 3; //Not all params below are used by the parser. We may support them later var nvparams = TestSupport.CreateParams(); //override display length nvparams[Constants.DISPLAY_LENGTH] = Convert.ToString(resultLength); r.Add(nvparams); var people = TestSupport.CreateData(); var parser = new DataTablesParser <MockPerson>(r, people.AsQueryable()); Console.WriteLine(people.Count); Assert.AreEqual(resultLength, parser.Parse().data.Count); }
public void TotalResultsTest() { var r = new MockHttpRequest(); var resultLength = 3; //Not all params below are used by the parser. We may support them later var nvparams = TestSupport.CreateParams(); //override display length nvparams["iDisplayLength"] = Convert.ToString(resultLength); r.Add(nvparams); var people = TestSupport.CreateData(); var parser = new DataTablesParser<MockPerson>(r, people.AsQueryable()); Console.WriteLine(people.Count); Assert.AreEqual(resultLength, parser.Parse().aaData.Count); }
public void TotalDisplayTest() { var r = new MockHttpRequest(); var displayLength = 1; //Not all params below are used by the parser. We may support them later var nvparams = TestSupport.CreateParams(); //Set filter parameter nvparams["sSearch"] = "Cromie"; r.Add(nvparams); var people = TestSupport.CreateData(); var parser = new DataTablesParser<MockPerson>(r, people.AsQueryable()); Console.WriteLine(people.Count); Assert.AreEqual(displayLength, parser.Parse().iTotalDisplayRecords); }
public void TotalDisplayTest() { var r = new MockHttpRequest(); var displayLength = 1; //Not all params below are used by the parser. We may support them later var nvparams = TestSupport.CreateParams(); //Set filter parameter nvparams["sSearch"] = "Cromie"; r.Add(nvparams); var people = TestSupport.CreateData(); var parser = new DataTablesParser <MockPerson>(r, people.AsQueryable()); Console.WriteLine(people.Count); Assert.AreEqual(displayLength, parser.Parse().iTotalDisplayRecords); }
public JsonResult All() { var parser = new DataTablesParser <Person>(Request, context.People); return(Json(parser.Parse())); }
public JsonResult Main(DataTableAjaxPostModel model, bool selectProblemDevice = false) { var maxT = DateTime.UtcNow.AddHours(-48); var devices = db.DeviceAttributes .Where(d => d.Status == "active") .Select(d => new { d.Id, d.CurrentLocationTimeZone, d.CellNumber, d.Name }) .ToList(); var dataBD = db.Datas .Where(d => d.Timestamp >= maxT) .GroupBy(d => d.DeviceAttributesId) .Select(g => new { key = g.Key, data = g.OrderByDescending(d => d.Timestamp) .Select(d => new { d.DeviceAttributesId, d.Timestamp, d.WaterLevel, d.BatteryLevel }) .FirstOrDefault() }) .ToList(); var diagnosticBD = db.Diagnostics .Where(d => d.ReportTime >= maxT) .Select(d => new { d.DeviceAttributesId, d.ReportTime, d.GraceWindowExceeded, d.LowBattery, d.LowLevel, d.Zeros }) .ToList(); var smsMaxT = DateTime.UtcNow.AddHours(-36); var smsBD = db.SMS .Where(d => d.DateReceiving >= smsMaxT) .GroupBy(s => s.From) .Select(g => new { g.Key }) .ToList(); List <MainTable> mainTableList = new List <MainTable>(); var DTnow = DateTime.UtcNow.AddHours(-24); foreach (var device in devices) { int.TryParse(device.CurrentLocationTimeZone, out int timeZone); var deviceMaxT = DTnow.AddHours(timeZone); var dataObj = dataBD .Where(d => d.data.Timestamp >= deviceMaxT && d.key == device.Id) .FirstOrDefault(); var data = dataObj?.data; var diagnostic = diagnosticBD .Where(d => d.ReportTime >= deviceMaxT && d.DeviceAttributesId == device.Id) .OrderByDescending(d => d.ReportTime) .ToList(); string alertGraceWindowExceeded = "", alertLowBattery = "", alertLowLevel = "", alertZeros = ""; foreach (var diagns in diagnostic) { if (!string.IsNullOrWhiteSpace(diagns.GraceWindowExceeded)) { alertGraceWindowExceeded = diagns.GraceWindowExceeded; } if (!string.IsNullOrWhiteSpace(diagns.LowBattery)) { alertLowBattery = diagns.LowBattery; } if (!string.IsNullOrWhiteSpace(diagns.LowLevel)) { alertLowLevel = diagns.LowLevel; } if (!string.IsNullOrWhiteSpace(diagns.Zeros)) { alertZeros = diagns.Zeros; } } var smsExist = smsBD.Exists(d => d.Key == device.CellNumber); var mainTable = new MainTable() { DeviceId = device.Id, DeviceName = device.Name, MissingReport = smsExist ? "" : "!", GraceWindowExceeded = alertGraceWindowExceeded, LowBattery = alertLowBattery, LowLevel = alertLowLevel, Zeros = alertZeros }; if (data != null) { mainTable.BatteryLevel = data.BatteryLevel; mainTable.Timestamp = data.Timestamp; mainTable.WaterLevel = data.WaterLevel; } if (selectProblemDevice) { if (!(String.IsNullOrWhiteSpace(alertGraceWindowExceeded) && String.IsNullOrWhiteSpace(alertLowBattery) && String.IsNullOrWhiteSpace(alertLowLevel) && String.IsNullOrWhiteSpace(alertZeros) && String.IsNullOrWhiteSpace(mainTable.MissingReport))) { mainTableList.Add(mainTable); } } else { mainTableList.Add(mainTable); } } var res = new DataTablesParser <MainTable>(Request, mainTableList.AsQueryable()) .Parse(); return(Json(res)); }
public JsonResult All() { var parser = new DataTablesParser<Person>(Request, context.People); return Json(parser.Parse()); }
public void TotalResultsTest() { var r = new MockHttpRequest(); var resultLength = 3; //Not all params below are used by the parser. We may support them later var nvparams = TestSupport.CreateParams(); //override display length nvparams[Constants.DISPLAY_LENGTH] = Convert.ToString(resultLength); r.Add(nvparams); var result = new DataTablesParser<Person>(r, context.People).Parse(); Console.WriteLine(result.GetQuery()); Assert.AreEqual(resultLength, result.data.Count); }