internal void addRecord(Record record) { if (sleepElements.Count == 0) { SleepElement newSleepElement = new SleepElement(); newSleepElement.addRecord(record); sleepElements.Add(newSleepElement); date = setCurrentDate(record); return; } SleepElement[] sleeps = sleepElements.ToArray(); SleepElement lastElement = sleeps[sleeps.Length - 1]; Record[] records = lastElement.GetRecords().ToArray(); Record lastRecord = records[records.Length - 1]; if (lastRecord.getStartDateTime().AddHours(-2) < record.getEndDateTime()) { lastElement.addRecord(record); return; } SleepElement element = new SleepElement(); element.addRecord(record); sleepElements.Add(element); }