private static void InsertSleepIntradayData(SleepLog log, DateTimeOffset day) { foreach (SleepIntraData data in log.MinuteData) { string query = string.Empty; query += String.Format(UPDATE_SLEEP_INTRADAY, "'" + DateTime.Now.ToString(Settings.FORMAT_DAY_AND_TIME) + "'", "'" + new DateTime(day.Year, day.Month, day.Day, data.Time.Hour, data.Time.Minute, data.Time.Second).ToString(Settings.FORMAT_DAY_AND_TIME) + "'", data.Value); Database.GetInstance().ExecuteDefaultQuery(query); } int start = 0; int end = log.MinuteData.Count; while (start < end) { string query = string.Empty; if (log.MinuteData.Count > 0) { SleepIntraData dataEntry = log.MinuteData[start]; string insertTime = "'" + DateTime.Now.ToString(Settings.FORMAT_DAY_AND_TIME) + "'"; string stepTime = "'" + new DateTime(day.Year, day.Month, day.Day, dataEntry.Time.Hour, dataEntry.Time.Minute, dataEntry.Time.Second).ToString(Settings.FORMAT_DAY_AND_TIME) + "'"; query += String.Format(INSERT_OR_IGNORE_MULTIPLE_SLEEP_INTRA_DAY_VALUES, insertTime, stepTime, dataEntry.Value); int count = 0; for (int i = start; i < log.MinuteData.Count && count < 499; i++) { query += String.Format(" UNION ALL SELECT null, {0}, {1}, {2}", "'" + DateTime.Now.ToString(Settings.FORMAT_DAY_AND_TIME) + "'", "'" + new DateTime(day.Year, day.Month, day.Day, log.MinuteData[i].Time.Hour, log.MinuteData[i].Time.Minute, log.MinuteData[i].Time.Second).ToString(Settings.FORMAT_DAY_AND_TIME) + "'", log.MinuteData[i].Value); count++; } Database.GetInstance().ExecuteDefaultQuery(query); start += count; } } }
private void ValidateSleepOld(SleepData sleep) { // general Assert.IsNotNull(sleep); Assert.IsNotNull(sleep.Summary); Assert.IsNotNull(sleep.Sleep); // summary SleepSummary summary = sleep.Summary; Assert.AreEqual(518, summary.TotalMinutesAsleep); Assert.AreEqual(2, summary.TotalSleepRecords); Assert.AreEqual(540, summary.TotalTimeInBed); // logs Assert.AreEqual(2, sleep.Sleep.Count); SleepLog l = sleep.Sleep.First(); Assert.AreEqual(true, l.IsMainSleep); Assert.AreEqual(29744, l.LogId); Assert.AreEqual(98, l.Efficiency); Assert.AreEqual(new DateTime(2011, 6, 16), l.StartTime); Assert.AreEqual(28800000, l.Duration); Assert.AreEqual(0, l.MinutesToFallAsleep); Assert.AreEqual(480, l.MinutesAsleep); Assert.AreEqual(0, l.MinutesAwake); Assert.AreEqual(0, l.MinutesAfterWakeup); // awakenings count - depcrecated Assert.AreEqual(0, l.AwakeCount); Assert.AreEqual(0, l.AwakeDuration); Assert.AreEqual(0, l.RestlessCount); Assert.AreEqual(0, l.RestlessDuration); Assert.AreEqual(480, l.TimeInBed); Assert.AreEqual(3, l.MinuteData.Count); MinuteData min = l.MinuteData.First(); Assert.IsNotNull(min); Assert.AreEqual(new DateTime(1900, 1, 1).TimeOfDay, min.DateTime.TimeOfDay); Assert.AreEqual(3, min.Value); l.MinuteData.Remove(min); min = l.MinuteData.First(); Assert.IsNotNull(min); Assert.AreEqual(new DateTime(1900, 1, 1, 0, 1, 0).TimeOfDay, min.DateTime.TimeOfDay); Assert.AreEqual(2, min.Value); l.MinuteData.Remove(min); min = l.MinuteData.First(); Assert.IsNotNull(min); Assert.AreEqual(new DateTime(1900, 1, 1, 0, 2, 0).TimeOfDay, min.DateTime.TimeOfDay); Assert.AreEqual(1, min.Value); sleep.Sleep.Remove(l); l = sleep.Sleep.First(); Assert.AreEqual(false, l.IsMainSleep); Assert.AreEqual(29745, l.LogId); Assert.AreEqual(93, l.Efficiency); Assert.AreEqual(new DateTime(2011, 6, 16, 14, 0, 0), l.StartTime); Assert.AreEqual(3600000, l.Duration); Assert.AreEqual(20, l.MinutesToFallAsleep); Assert.AreEqual(38, l.MinutesAsleep); Assert.AreEqual(0, l.MinutesAwake); Assert.AreEqual(2, l.MinutesAfterWakeup); // awakenings count - depcrecated Assert.AreEqual(0, l.AwakeCount); Assert.AreEqual(0, l.AwakeDuration); Assert.AreEqual(0, l.RestlessCount); Assert.AreEqual(0, l.RestlessDuration); Assert.AreEqual(60, l.TimeInBed); Assert.AreEqual(1, l.MinuteData.Count); min = l.MinuteData.First(); Assert.IsNotNull(min); Assert.AreEqual(new DateTime(1900, 1, 1, 14, 0, 0).TimeOfDay, min.DateTime.TimeOfDay); Assert.AreEqual(3, min.Value); }