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); }
/// <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); }