예제 #1
0
 private void ChangeSettings(DbSetSettings newSettings, bool cached)
 {
     try {
         var fileName   = _fileManager.CombineDirectories(_inDir, FileEngineDefaults.SetSettingsName);
         var serializer = new XmlSerializer(typeof(DbSetSettings));
         using (var sw = new StreamWriter(_fileManager.FileWriteStream(fileName)))
         {
             serializer.Serialize(sw, newSettings);
             sw.Flush();
         }
     }
     finally
     {
         if (cached)
         {
             _settingsCached = newSettings;
         }
     }
 }
        private static bool WriteToXmlFile(IFileOperations fileManager, string instellingenFile, string maskFile, Instellingen instellingen)
        {
            try
            {
                // verwijder oude bestand (zelfde effect als overschreven worden)
                if (fileManager.FileExists(instellingenFile))
                    fileManager.Delete(instellingenFile);

                //schrijf instellingen weg
                var serializer = new XmlSerializer(typeof(Instellingen));
                using (var sw = new StreamWriter(fileManager.FileWriteStream(instellingenFile)))
                {
                    serializer.Serialize(sw, instellingen);
                    sw.Flush();
                }

                //schrijf Masks weg
                using (var xw = XmlWriter.Create(maskFile, new XmlWriterSettings() { Indent = true }))
                {
                    xw.WriteStartDocument();
                    xw.WriteStartElement("Masks");
                    foreach (var mask in instellingen.Masks)
                    {
                        xw.WriteStartElement("Mask");
                        xw.WriteStartElement("Name");
                        xw.WriteString(mask.Name);
                        xw.WriteEndElement();
                        xw.WriteStartElement("RealName");
                        xw.WriteString(mask.RealName);
                        xw.WriteEndElement();
                        xw.WriteEndElement();
                    }
                    xw.WriteEndElement();
                    xw.WriteEndDocument();

                    xw.Flush();
                }

                return true;
            }
            catch (PathTooLongException)
            {
                return false;
            }
        }
        private static bool WriteToJsonFile(IFileOperations fileManager, string instellingenFile, string maskFile, Instellingen instellingen)
        {
            try
            {
                // verwijder oude bestand (zelfde effect als overschreven worden)
                if (fileManager.FileExists(instellingenFile))
                {
                    fileManager.Delete(instellingenFile);
                }

                var saveInstellingen = new SaveInstellingen()
                {
                    DatabasePad                       = instellingen.DatabasePad,
                    BijbelPad                         = instellingen.BijbelPad,
                    TemplateTheme                     = instellingen.TemplateTheme,
                    TemplateLied                      = instellingen.TemplateLied,
                    TemplateBijbeltekst               = instellingen.TemplateBijbeltekst,
                    TekstChar_a_OnARow                = instellingen.TekstChar_a_OnARow,
                    TekstFontName                     = instellingen.TekstFontName,
                    TekstFontPointSize                = instellingen.TekstFontPointSize,
                    RegelsPerLiedSlide                = instellingen.RegelsPerLiedSlide,
                    RegelsPerBijbeltekstSlide         = instellingen.RegelsPerBijbeltekstSlide,
                    Een2eCollecte                     = instellingen.Een2eCollecte,
                    DeTekstVraag                      = instellingen.DeTekstVraag,
                    DeLezenVraag                      = instellingen.DeLezenVraag,
                    GebruikDisplayNameVoorZoeken      = instellingen.GebruikDisplayNameVoorZoeken,
                    ToonBijbeltekstenInLiturgie       = instellingen.ToonBijbeltekstenInLiturgie,
                    StandaardTeksten                  = instellingen.StandaardTeksten,
                    ToonGeenVersenBijVolledigeContent = instellingen.ToonGeenVersenBijVolledigeContent,
                    VersOnderbrekingOverSlidesHeen    = instellingen.VersOnderbrekingOverSlidesHeen,
                    ToonAlsLiedOnderbrokenWordt       = instellingen.ToonAlsLiedOnderbrokenWordt
                };

                //schrijf instellingen weg
                using (var sw = new StreamWriter(fileManager.FileWriteStream(instellingenFile)))
                {
                    var serializer = new JsonSerializer();
                    serializer.Serialize(sw, saveInstellingen);
                    sw.Flush();
                }

                var saveMasks = instellingen.Masks.Select(m => new SaveMask()
                {
                    Name = m.Name, RealName = m.RealName
                }).ToArray();

                //schrijf Masks weg
                using (var sw = new StreamWriter(fileManager.FileWriteStream(maskFile)))
                {
                    var serializer = new JsonSerializer();
                    serializer.Serialize(sw, saveMasks);
                    sw.Flush();
                }

                return(true);
            }
            catch (PathTooLongException)
            {
                return(false);
            }
        }