private void LoadDatabases()
        {
            if (!File.Exists(textBoxDatabasePath.Text))
            {
                return;
            }
            XmlSerializer xs = new XmlSerializer(typeof(SmallBasicExtensionList));
            StreamReader  sr = new StreamReader(textBoxDatabasePath.Text);

            extensionList = (SmallBasicExtensionList)xs.Deserialize(sr);
            sr.Close();
            databaseItems.Clear();
            for (int i = 0; i < extensionList.numExtension; i++)
            {
                SmallBasicExtension extension = extensionList.Extensions[i].Extension;
                DatabaseItem        rowItem   = new DatabaseItem
                {
                    Name        = extension.Name,
                    Description = extension.Description,
                    Author      = extension.Author,
                    WebSite     = extension.WebSite,
                    API         = extension.API,
                    ChangeLog   = extension.ChangeLog,
                    SBVersion   = extension.SBVersion,
                    ExtVersion  = extension.ExtVersion,
                    ZipLocation = extension.ZipLocation,
                    dllFiles    = GetFiles(extension.dllFiles),
                    xmlFiles    = GetFiles(extension.xmlFiles),
                    docFiles    = GetFiles(extension.docFiles),
                    sampleFiles = GetFiles(extension.sampleFiles)
                };
                databaseItems.Add(rowItem);
            }
        }
        private void SaveDatabases()
        {
            extensionList              = new SmallBasicExtensionList();
            extensionList.Version      = DatabaseVersion;
            extensionList.numExtension = 0;
            for (int i = 0; i < databaseItems.Count; i++)
            {
                DatabaseItem item = databaseItems[i];
                if (null == item.Name || item.Name == "")
                {
                    continue;
                }
                extensionList.numExtension++;
            }
            extensionList.Extensions = new SmallBasicExtensionListExtensions[extensionList.numExtension];
            int index = 0;

            for (int i = 0; i < databaseItems.Count; i++)
            {
                DatabaseItem item = databaseItems[i];
                if (null == item.Name || item.Name == "")
                {
                    continue;
                }
                extensionList.Extensions[index]           = new SmallBasicExtensionListExtensions();
                extensionList.Extensions[index].Extension = new SmallBasicExtension();
                SmallBasicExtension extension = extensionList.Extensions[index].Extension;
                index++;
                extension.Name        = item.Name;
                extension.Description = item.Description;
                extension.Author      = item.Author;
                extension.WebSite     = item.WebSite;
                extension.API         = item.API;
                extension.ChangeLog   = item.ChangeLog;
                extension.SBVersion   = item.SBVersion;
                extension.ExtVersion  = item.ExtVersion;
                extension.ZipLocation = item.ZipLocation;
                extension.dllFiles    = SetFiles(item.dllFiles);
                extension.xmlFiles    = SetFiles(item.xmlFiles);
                extension.docFiles    = SetFiles(item.docFiles);
                extension.sampleFiles = SetFiles(item.sampleFiles);
            }
            XmlSerializer xs = new XmlSerializer(typeof(SmallBasicExtensionList));
            StreamWriter  sw = new StreamWriter(textBoxDatabasePath.Text, false);

            xs.Serialize(sw, extensionList);
            sw.Close();

            LoadDatabases();
        }
Exemple #3
0
 /// <summary>
 /// Constructor for a WEB extension
 /// </summary>
 /// <param name="smallBasicExtension">The database entry for this web downloadable extension</param>
 public Extension(SmallBasicExtension smallBasicExtension)
 {
     this.smallBasicExtension = smallBasicExtension;
     Source = eSource.WEB;
     try
     {
         Name       = smallBasicExtension.Name;
         SBVersion  = new Version(smallBasicExtension.SBVersion);
         ExtVersion = new Version(smallBasicExtension.ExtVersion);
     }
     catch (Exception ex)
     {
         Errors.Add(ex.Message);
     }
     Valid &= Errors.Count == 0;
 }