From 6b103b33a23329fbfe190965a2ba5c16c67f4bc6 Mon Sep 17 00:00:00 2001 From: chylex <info@chylex.com> Date: Tue, 14 Apr 2015 00:03:52 +0200 Subject: [PATCH] Serialization of history entries --- .../Backup/History/HistoryEntry.cs | 30 +++++++++++++++---- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/BackupEssentials/Backup/History/HistoryEntry.cs b/BackupEssentials/Backup/History/HistoryEntry.cs index 721d2e8..d15407c 100644 --- a/BackupEssentials/Backup/History/HistoryEntry.cs +++ b/BackupEssentials/Backup/History/HistoryEntry.cs @@ -1,9 +1,29 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; +using BackupEssentials.Utils; +using System; namespace BackupEssentials.Backup.History{ - class HistoryEntry{ + class HistoryEntry : StringDictionarySerializer.IObjectToDictionary{ + public string LocationName = ""; + public DateTime BackupTime = DateTime.MinValue; + public int EntriesAdded = 0, EntriesUpdated = 0, EntriesRemoved = 0; + public string Filename = ""; + + void StringDictionarySerializer.IObjectToDictionary.ToDictionary(SafeDictionary<string,string> dict){ + dict["Name"] = LocationName; + dict["Time"] = Convert.ToBase64String(BitConverter.GetBytes(BackupTime.ToBinary())); + dict["EnA"] = EntriesAdded.ToString(); + dict["EnU"] = EntriesUpdated.ToString(); + dict["EnR"] = EntriesRemoved.ToString(); + dict["File"] = Filename; + } + + void StringDictionarySerializer.IObjectToDictionary.FromDictionary(SafeDictionary<string,string> dict){ + LocationName = dict["Name"] ?? ""; + BackupTime = DateTime.FromBinary(BitConverter.ToInt64(Convert.FromBase64String(dict["Time"] ?? ""),0)); + int.TryParse(dict["EnA"] ?? "0",out EntriesAdded); + int.TryParse(dict["EnU"] ?? "0",out EntriesUpdated); + int.TryParse(dict["EnR"] ?? "0",out EntriesRemoved); + Filename = dict["File"] ?? ""; + } } }