public void XmlTests()
        {
            LogItemStore store = new LogItemStore();
            store.User = "******";
            store.Data = new System.Collections.Generic.List<LogTimeItem>()
            {
                new LogTimeItem(){ ActivityID = "Task1", DayOfLogging = DateTime.Now.Date, LoggedTime = TimeSpan.FromHours(19) },
                new LogTimeItem(){ ActivityID = "Task2", DayOfLogging = DateTime.Now.Date, LoggedTime = TimeSpan.FromHours(20) },
                new LogTimeItem(){ ActivityID = "Task3", DayOfLogging = DateTime.Now.Date.AddDays(-1), LoggedTime = TimeSpan.FromHours(1) },
            };

            store.Activities = new System.Collections.Generic.List<Activity>()
            {
                new Activity(){ ID = "Task1", Name = "EPAM Creation" },
                new Activity(){ ID = "Task2", Name = "Customer Interview" }
            };

            LogItemsService.Save(store);

            var result = LogItemsService.GetItemsByDate(DateTime.Now.Date);
        }
 public static void Save(LogItemStore store)
 {
     using (var stream = new FileStream(FILE_NAME, FileMode.Create, FileAccess.Write, FileShare.None))
     {
         using (var writer = XmlWriter.Create(stream))
         {
             System.Xml.Serialization.XmlSerializer ser = new System.Xml.Serialization.XmlSerializer(typeof(LogItemStore));
             {
                 ser.Serialize(writer, store);
             }
         }
     }
 }
 private static void CheckCache()
 {
     if (Cache == null)
     {
         lock (SyncRoot)
         {
             if (Cache == null)
             {
                 if (File.Exists(FILE_NAME))
                 {
                     using (var stream = new FileStream(FILE_NAME, FileMode.Open, FileAccess.Read, FileShare.Read))
                     {
                         System.Xml.Serialization.XmlSerializer ser = new System.Xml.Serialization.XmlSerializer(typeof(LogItemStore));
                         {
                             Cache = (LogItemStore)ser.Deserialize(stream);
                         }
                     }
                 }
                 else
                 {
                     Cache = new LogItemStore();
                     Cache.Data = new List<LogTimeItem>();
                     Cache.Activities = new List<Activity>();
                 }
             }
         }
     }
 }