Beispiel #1
0
        public void InstallUpdates()
        {
            var toInstall = Packs
                            .Where(x => x.Version > OldVersion)
                            .OrderBy(x => x.Version);

            foreach (var itm in toInstall)
            {
                Log.AppendFormat("Installing pack {0}...{1}", itm.Version, Environment.NewLine);
                itm.Load();

                var args = new BeforePackInstallEventArgs()
                {
                    Pack = itm
                };
                OnBeforeInstallPack(args);

                if (!args.Cancel)
                {
                    itm.Install();
                    Log.Append(itm.Log);
                    OnAfterInstallPack(itm);
                }
                ;

                Log.AppendFormat("Pack {0} has been installed{1}{1}", itm.Version, Environment.NewLine);
            }
            ;
        }
        public static void Save()
        {
            foreach (var pack in Packs.Where(p => !p.IsDefault))
            {
                var root = new XElement(DocumentRootName);
                root.SetAttributeValue(IsDefaultAttributeName, pack.IsDefault);

                foreach (var smiley in pack.Smileys)
                {
                    var elem = new XElement(SmileyElementName);
                    elem.SetAttributeValue(FileNameAttributeName, smiley.FileName);
                    elem.SetAttributeValue(ShortcutsAttributeName, string.Join(SmileyShortcutsSeparator.ToString(), smiley.Shortcuts));

                    root.Add(elem);
                }

                string manifestPath = Path.Combine(GetPath(pack), ManifestFileName);
                new XDocument(root).Save(File.Open(manifestPath, FileMode.Create));
            }
        }