Example #1
0
 public void OnXmlDeserialization(object param)
 {
     PlainName = Name.ToString();
     if (Author != null)
     {
         AuthorName = Author.Name.ToString();
     }
     if (string.IsNullOrEmpty(GUID))
     {
         ID = new Identifier(Identifier);
     }
     else
     {
         ID = new Identifier(Identifier, Guid.Parse(GUID));
     }
     if (Files != null)
     {
         AvailableVersions.Clear();
         foreach (var file in Files)
         {
             if (file.Platform == param.ToString() && (!file.NeedValidation || file.Validated))
             {
                 AvailableVersions.Add(file.Version, file.FetchURL);
             }
         }
     }
 }
Example #2
0
        /// <summary>
        /// Open the specified database file
        /// </summary>
        /// <param name="databaseFile">Database file name to open</param>
        /// <param name="password">Password of database file</param>
        public bool Open(string databaseFile, string password)
        {
            Close();
            FileName = Path.GetFullPath(databaseFile);
            Password = password;

            bool    ok      = false;
            Version version = GetSdfVersion(FileName);

            if (version == null)
            {
                foreach (Version ver in AvailableVersions.Reverse <Version>())
                {
                    ok = OpenConnection(ver, databaseFile, password);
                    if (ok || BadPassword)
                    {
                        break;
                    }
                }
            }
            else
            {
                ok = OpenConnection(version, databaseFile, password);
                if (!ok && (!BadPassword || password != null))
                {
                    GlobalText.ShowError("UnableToOpen", LastError);
                }
            }
            return(ok);
        }
 public PackageControlModel(PackageKey packageKey, IEnumerable <PackageKey> availableVersions)
 {
     Name              = packageKey.Id;
     Version           = packageKey.Version;
     AvailableVersions = availableVersions.Select(x => x.Version)
                         .ToList();
     FixVersionIndex = string.IsNullOrEmpty(Version) ? -1 : AvailableVersions.IndexOf(Version);
 }
Example #4
0
        private Version GetSdfVersion(string filePath)
        {
            UInt32 sdfCodeVersion;

            using (var reader = new BinaryReader(File.Open(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)))
            {
                reader.BaseStream.Seek(16, SeekOrigin.Begin);
                sdfCodeVersion = reader.ReadUInt32();
            }
            return(AvailableVersions.FirstOrDefault(version => version.SdfCodeVersion == sdfCodeVersion));
        }