private void Load() { PresenceReports.Clear(); CrashReports.Clear(); XmlDocument doc = new XmlDocument(); try { doc.Load(STORAGE_FILE); foreach (XmlElement node in doc.DocumentElement.ChildNodes) { Entry entry = Entry.Deserialize(node); if (!entry.user.IsValid()) { continue; } switch (node.Name) { case "presence": PresenceReports.Add(entry); break; case "crash": CrashReports.Add(entry, node.InnerText); break; } } } catch (FileNotFoundException) { } }
public void AddPresenceReport(UserInfo user) { bool exists = PresenceReports.Exists((Entry e) => e.user.IPAddress == user.IPAddress && e.user.MachineName == user.MachineName && e.date.Date == DateTime.Today); if (!exists) { PresenceReports.Add(new Entry(user)); PersistanceCheckpoint(); } }