diff --git a/SeniorAssistant/Controllers/Services/BaseController.cs b/SeniorAssistant/Controllers/Services/BaseController.cs index 092544b..db95dbf 100644 --- a/SeniorAssistant/Controllers/Services/BaseController.cs +++ b/SeniorAssistant/Controllers/Services/BaseController.cs @@ -56,11 +56,7 @@ namespace SeniorAssistant.Controllers return Json(new JsonResponse() { Success = false, - Message = ExceptionSer + Environment.NewLine + - e.Message + Environment.NewLine + - e.StackTrace + Environment.NewLine + - e.TargetSite + Environment.NewLine + - e.InnerException + Message = e.Message + Environment.NewLine }); } } diff --git a/SeniorAssistant/Views/Home/User.cshtml b/SeniorAssistant/Views/Home/User.cshtml index 51e5d1b..fe87db4 100644 --- a/SeniorAssistant/Views/Home/User.cshtml +++ b/SeniorAssistant/Views/Home/User.cshtml @@ -36,9 +36,10 @@ else - +
+
@if (isDoc && patient != null) { @@ -125,14 +126,117 @@ else sleepArr.push({ "time": new Date(base_time + i), "value": 1 }); } }); - + if (Object.keys(heartbeat).length == 0 && Object.keys(steps).length == 0 && Object.keys(sleep).length == 0) $("#chart-data").html("Nessun dato"); else { - /* se checked #show-table allora crea dati come data.cshtml */ - /**/ + /* se checked #show-table allora crea dati come data.cshtml for () { + allData.push({"time"}); + }*/ + $("#chart-data").html(""); + console.log(heartbeat[0].time); + console.log("min = " +new Date(heartbeat[0].time).getTime()); + var minDate = Math.min( + new Date(heartbeat[0].time).getTime(), + new Date(steps[0].time).getTime(), + new Date(sleepArr[0].time).getTime() + ); + + var maxDate = Math.max( + new Date(heartbeat[heartbeat.length-1].time).getTime(), + new Date(steps[steps.length - 1].time).getTime(), + new Date(sleepArr[sleepArr.length -1].time).getTime() + ); + + + var allData = []; + for (var delta = 60 * 60 * 1000; minDate < maxDate; minDate += delta) { + var heartVal = NaN; + for (var i = 0; i < heartbeat.length; i++) { + var time = new Date(heartbeat[i].time).getTime(); + if (time >= minDate && time <= minDate + delta) { + heartVal = heartbeat[i].value; + i = heartbeat.length; + } + if (time > minDate + delta) + i = heartbeat.length; + } + + var stepVal = NaN; + for (var i = 0; i < steps.length; i++) { + var time = new Date(steps[i].time).getTime(); + if (time >= minDate && time <= minDate + delta) { + stepVal = steps[i].value; + i = steps.length; + } + if (time > minDate + delta) + i = steps.length; + } + + var sleepVal = false; + for (var i = 0; i < sleepArr.length; i++) { + var time = new Date(sleepArr[i].time).getTime(); + if (time >= minDate && time <= minDate + delta) { + sleepVal = true; + i = sleepArr.length; + } + if (time > minDate + delta) + i = sleepArr.length; + } + + allData.push({ + "Time": new Date(minDate), + "Heartbeat": heartVal, + "Steps": stepVal, + "Sleep": sleepVal + }); + } + if (document.getElementById("show-table").checked) { + $("#chart-data").kendoGrid({ + dataSource: { + data: allData, + serverPaging: false, + serverSorting: false, + batch: false, + schema: { + model: { + fields: { + time: { type: "date" }, + Heartbeat: { type: "number" }, + Steps: {type: "number"}, + Sleep: {type: "bool"} + } + } + } + }, + scrollable: true, + sortable: true, + filterable: true, + editable: false, + columns: [ + { + field: "Time", + title: "Date/Time", + format: "{0:dd/MM/yyyy HH:mm}" + }, + { + field: "Heartbeat", + title: "Battiti" + }, + { + field: "Steps", + title: "Passi" + }, + { + field: "Sleep", + title: "Sonno" + } + ] + }); + } + else $("#chart-data").kendoChart({ title: { text: "Visualizzazione attivita' di @Model.Name @Model.LastName" }, legend: { position: "bottom" }, diff --git a/SeniorAssistant/senior.db b/SeniorAssistant/senior.db index 7812ca8..69e4c52 100644 Binary files a/SeniorAssistant/senior.db and b/SeniorAssistant/senior.db differ