This commit is contained in:
2018-11-22 20:35:07 +01:00
parent a1019dd62e
commit 9f4872b58a
3 changed files with 100 additions and 96 deletions

View File

@@ -136,15 +136,14 @@ namespace SeniorAssistant
Random rnd = new Random(); Random rnd = new Random();
DateTime now = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day); DateTime now = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day);
now = now.AddHours(DateTime.Now.Hour).AddMinutes(30); now = now.AddHours(DateTime.Now.Hour).AddMinutes(30);
double totalHours = 50;
try try
{ {
DateTime time = db.GetTable<Heartbeat>().MaxAsync(x => x.Time).Result; double totalHours = 50;
TimeSpan span = now.Subtract(time); try {
DateTime maxTimeInDB = db.GetTable<Heartbeat>().MaxAsync(x => x.Time).Result;
TimeSpan span = now.Subtract(maxTimeInDB);
totalHours = span.TotalHours; totalHours = span.TotalHours;
} } catch { }
catch { }
for (int i = 0; i<totalHours; i++) for (int i = 0; i<totalHours; i++)
{ {
@@ -155,18 +154,10 @@ namespace SeniorAssistant
if (time.Day != now.Day) if (time.Day != now.Day)
{ {
Sleep sleep = new Sleep() { Username = user, Time = time, Value = rnd.Next(6 * 3600000, 9 * 3600000) }; db.Insert(new Sleep() { Username = user, Time = time, Value = rnd.Next(5 * 3600000, 9 * 3600000) });
db.Insert(sleep);
}
if (rnd.Next(5) < 4)
{
Heartbeat heart = new Heartbeat() { Username = user, Time = time, Value = rnd.Next(50, 120) };
Step step = new Step() { Username = user, Time = time, Value = rnd.Next(100, 500) };
db.Insert(heart);
db.Insert(step);
} }
db.Insert(new Heartbeat() { Username = user, Time = time, Value = rnd.Next(50, 120) });
db.Insert(new Step() { Username = user, Time = time, Value = rnd.Next(100, 500) });
} }
if (time.Day != now.Day) if (time.Day != now.Day)
{ {
@@ -174,6 +165,8 @@ namespace SeniorAssistant
} }
} }
} }
catch { }
}
} }
} }
} }

View File

@@ -7,23 +7,25 @@
<script> <script>
var base_url = "@Url.Content("~/api/")"; var base_url = "@Url.Content("~/api/")";
var end_url = "/@Model/last/48";
$.getJSON(base_url + "heartbeat" + end_url, function (heartbeat) {
$.getJSON(base_url + "step" + end_url, function (steps) {
$.getJSON(base_url + "sleep" + end_url, function (sleep) {
var sleepArr = [];
sleep.forEach( function (el) {
sleepArr.push({ "time": el.time, "value": 1 });
var base_time = new Date(el.time).getTime();
for (var i = 60000; i <= el.value; i += 60000) {
sleepArr.push({ "time": new Date(base_time + i), "value": 1 });
}
});
$("#chart").kendoChart({ $("#chart").kendoChart({
title: { text: "Visualizzazione attivita' di @Model" }, title: { text: "Visualizzazione attivita' di @Model" },
legend: { position: "bottom" }, legend: { position: "bottom" },
dataSource: {
transport: {
read: {
url: base_url+"heartbeat/@Model/last/48",
type: "GET",
dataType: "json"
}
},
sort: {
field: "time",
dir: "asc"
}
},
seriesDefaults: { seriesDefaults: {
type: "line", type: "line",
style: "smooth" style: "smooth"
@@ -31,52 +33,61 @@
series: [{ series: [{
name: "Battito", name: "Battito",
field: "value", field: "value",
color: "red",
axis: "Heartbeat",
categoryField: "time", categoryField: "time",
format: "0:{dd HH:mm}" data: heartbeat,
}], tooltip: {
/*series: [{ visible: true,
type: "column", format: "{0}%",
field: "value", template: "Media di: #= value # bpm"
categoryField: "time" }
}, { }, {
name: "Steps", name: "Passi",
dataSource: { field: "value",
transport: { color: "blue",
read: { axis: "Steps",
url: "/api/steps/", categoryField: "time",
dataType: "json" data: steps,
}
},
sort: {
field: "time",
dir: "asc"
}
}
}],
/*
valueAxis: {
labels: {
format: "{0}%"
},
line: {
visible: false
},
axisCrossingValue: -10
},
categoryAxis: {
categories: [2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011],
majorGridLines: {
visible: false
},
labels: {
rotation: "auto"
}
},
tooltip: { tooltip: {
visible: true, visible: true,
format: "{0}%", format: "{0}%",
template: "#= series.name #: #= value #" template: "#= series.name #: #= value #"
}*/ }
}, {
type: "area",
name: "Sonno",
field: "value",
color: "black",
axis: "Sleep",
categoryField: "time",
data: sleepArr
}],
categoryAxis: {
labels: {
rotation: +45,
dateFormats: {
hours: "HH:mm"
}
},
type: "Date",
baseUnit: "hours"
},
valueAxes: [{
name: "Heartbeat",
color: "red"
}, {
name: "Steps",
color: "blue"
}, {
name: "Sleep",
color: "gray",
visible: false,
max: 1,
min: 0
}]
})
})
})
}); });
</script> </script>

Binary file not shown.