예제 #1
0
        private void LoadEvents(DateTime date)
        {
            string path = Persistence.GetLocalDataDir();
            var    name = String.Format("herring_events{0:D4}{1:D2}{2:D2}.xml", date.Year, date.Month, date.Day);

            var serializer = new XmlSerializer(typeof(Log));
            var eventsFile = Path.Combine(path, name);


            if (!File.Exists(eventsFile))
            {
                return;
            }

            using (var reader = new StreamReader(eventsFile))
            {
                using (var xml = XmlReader.Create(reader))
                {
                    var data = (Log)serializer.Deserialize(xml);

                    Events.Clear();
                    Events.AddRange(data.Events);
                }
            }
        }
예제 #2
0
        private void StoreEvents(DateTime date)
        {
            string path = Persistence.GetLocalDataDir();

            var name = String.Format("herring_events{0:D4}{1:D2}{2:D2}.xml", date.Year, date.Month, date.Day);

            var serializer = new XmlSerializer(typeof(Log));

            using (var writer = new StreamWriter(Path.Combine(path, name)))
            {
                using (var xml = XmlWriter.Create(writer))
                {
                    serializer.Serialize(writer, this);
                }
            }
        }
예제 #3
0
        public static Log Load(GetAppDelegate getApp, DateTime date, out List <string> errors)
        {
            Log data = new Log();

            string path        = Persistence.GetLocalDataDir();
            string filePattern = String.Format("herring{0:D4}{1:D2}{2:D2}_*.*", date.Year, date.Month, date.Day);

            string[]      files      = Directory.GetFiles(path, filePattern);
            List <string> errorLines = new List <string>();

            foreach (string f in files)
            {
                LoadPart(getApp, f, data.Activities, errorLines);
            }

            errors = errorLines;

            data.LoadEvents(date);

            return(data);
        }