private void hBA1CSchätzenToolStripMenuItem_Click(object sender, EventArgs e) { IDatabaseDriver database = AzusaContext.GetInstance().DatabaseDriver; DexTimelineEntry latestGlucose = database.Dexcom_GetLatestGlucoseEntry(); DateTime scope = latestGlucose.Timestamp.AddMonths(-3); IEnumerable <DexTimelineEntry> entries = database.Dexcom_GetGlucoseEntriesAfter(scope); uint totalGlucose = 0; uint numGlucoseValues = 0; foreach (DexTimelineEntry entry in entries) { if (entry.Glucose.HasValue) { totalGlucose += entry.Glucose.Value; numGlucoseValues++; } } double avgGlucose = (double)totalGlucose / (double)numGlucoseValues; double hba1c = 0.031; hba1c *= avgGlucose; hba1c += 2.393; string text = String.Format("Geschätzer HBA1c: {0}%", hba1c); Debug.WriteLine(text); MessageBox.Show(text); }
double GuessYValue(List <DexTimelineEntry> glucoseEvents, DateTime xValue) { DexTimelineEntry dte = glucoseEvents.FirstOrDefault(x => x.Timestamp > xValue); if (dte == null) { return(200.0); } else { return((double)dte.Glucose.Value); } }