Example #1
0
 /// <summary>
 /// Выгрузка данных из фонда (сериализация в XML)
 /// </summary>
 /// <param name="path"></param>
 private void SaveXML(string path)
 {
     using (var writer = new StreamWriter(path))
     {
         SerializeLibraryUnits serializeLibraryUnits = new SerializeLibraryUnits();
         serializeLibraryUnits.dateSave     = DateTime.Today;
         serializeLibraryUnits.libraryUnits = _libraryUnits.ToArray();
         var serializer = new XmlSerializer(typeof(SerializeLibraryUnits));
         serializer.Serialize(writer, serializeLibraryUnits);
     }
 }
Example #2
0
        /// <summary>
        /// Загрузка данных в фонда (десериализация из XML)
        /// </summary>
        /// <param name="path"></param>
        /// <param name="loadMethod"></param>
        private bool LoadXML(string path, int loadMethod)
        {
            int objIndex = 0;
            int succeed  = 0;
            int failed   = 0;

            using (var logFile = new StreamWriter(path + ".log"))
            {
                using (var reader = XmlReader.Create(path, _XMLValidator.SettingsVal))
                {
                    try
                    {
                        SerializeLibraryUnits deserializeUnit = (SerializeLibraryUnits) new XmlSerializer(typeof(SerializeLibraryUnits)).Deserialize(reader);

                        var units = new List <LibraryUnit>();

                        foreach (LibraryUnit u in deserializeUnit.libraryUnits)
                        {
                            try
                            {
                                objIndex++;
                                units.Add(u);
                                succeed++;
                            }
                            catch (Exception e)
                            {
                                logFile.WriteLine("{0} object - load exception: {1}", objIndex, e.Message);
                                failed++;

                                if (loadMethod == 0)
                                {
                                    logFile.WriteLine("Load stoped!");
                                    return(false);
                                }
                            }
                        }

                        if (units.Count > 0)
                        {
                            ClearLibrary();
                            foreach (LibraryUnit u in units)
                            {
                                AddUnit(u);
                            }
                        }
                    }
                    catch (Exception e)
                    {
                        logFile.WriteLine("Error deserialize: {0}", e.Message);
                        return(false);
                    }
                }

                logFile.WriteLine("---" + Environment.NewLine
                                  + "{0} - all processed object " + Environment.NewLine
                                  + "{1} - succeed load " + Environment.NewLine
                                  + "{2} - failed load "
                                  , objIndex, succeed, failed
                                  );
            }

            return(true);
        }