Exemple #1
0
        public override int GetHashCode()
        {
            int hashCode = 0;

            unchecked {
                if (DatabaseFolder != null)
                {
                    hashCode += 1000000009 * DatabaseFolder.GetHashCode();
                }
                if (RouteInstallationDirectory != null)
                {
                    hashCode += 1000000021 * RouteInstallationDirectory.GetHashCode();
                }
                if (TrainInstallationDirectory != null)
                {
                    hashCode += 1000000033 * TrainInstallationDirectory.GetHashCode();
                }
                if (OtherInstallationDirectory != null)
                {
                    hashCode += 1000000087 * OtherInstallationDirectory.GetHashCode();
                }
                if (LoksimPackageInstallationDirectory != null)
                {
                    hashCode += 1000000093 * LoksimPackageInstallationDirectory.GetHashCode();
                }
            }
            return(hashCode);
        }
Exemple #2
0
        /// <summary>
        /// Creates Quran DB directory.
        /// </summary>
        /// <returns></returns>
        public static async Task MakeQuranDatabaseDirectory()
        {
            if (BaseFolder == null)
            {
                throw new ArgumentNullException("BaseFolder");
            }

            if (DatabaseFolder == null)
            {
                var databaseFolder = await BaseFolder.TryGetItemAsync(DatabaseDirectory);

                if (databaseFolder == null)
                {
                    databaseFolder = await BaseFolder.CreateFolderAsync(DatabaseDirectory);
                }
                DatabaseFolder = databaseFolder as StorageFolder;
            }

            if (DatabaseFolder == null)
            {
                throw new InvalidOperationException("Unable to create a database folder.");
            }

            StorageFolder installationFolder = Package.Current.InstalledLocation;
            StorageFolder assetsFolder       = await installationFolder.GetFolderAsync("Assets");

            StorageFile arabicDatabase = await assetsFolder.GetFileAsync(QuranDatabaseName);

            await arabicDatabase.CopyAsync(DatabaseFolder, QuranDatabaseName, NameCollisionOption.ReplaceExisting);

            ArabicDatabase = await DatabaseFolder.GetFileAsync(QuranDatabaseName);
        }