/// <summary> /// Applies an individual application item to a given application configuration. /// </summary> /// <param name="indexApp">Index entry for the application.</param> /// <param name="pathTuple">The mod to apply the config to.</param> /// <param name="hash">Hash of the application's main executable.</param> public static void ApplyIndexEntry(AppItem indexApp, PathTuple <ApplicationConfig> pathTuple, string hash) { var hashMatches = hash.Equals(indexApp.Hash, StringComparison.OrdinalIgnoreCase); if (indexApp.AppStatus == Status.WrongExecutable && hashMatches) { Actions.DisplayMessagebox(Resources.AddAppRepoBadExecutable.Get(), indexApp.BadStatusDescription !); } pathTuple.Config.AppName = indexApp.AppName; // Apply GB Configurations Singleton <GameBananaPackageProviderFactory> .Instance.SetConfiguration(pathTuple, new GameBananaPackageProviderFactory.GameBananaProviderConfig() { GameId = (int)indexApp.GameBananaId }); if (!hashMatches) { var viewModel = new AddAppHashMismatchDialogViewModel(indexApp.BadHashDescription !); Actions.ShowAddAppHashMismatchDialog(viewModel); } var appLocation = ApplicationConfig.GetAbsoluteAppLocation(pathTuple); if (indexApp.TryGetError(Path.GetDirectoryName(appLocation) !, out var errors)) { var viewModel = new AddApplicationWarningDialogViewModel(errors); Actions.ShowApplicationWarningDialog(viewModel); } }
private static bool ShowApplicationWarningDialog(AddApplicationWarningDialogViewModel viewmodel) => ShowDialogAndGetResult(new ShowApplicationWarningDialog(viewmodel));
public ShowApplicationWarningDialog(AddApplicationWarningDialogViewModel viewmodel) { InitializeComponent(); ViewModel = viewmodel; }