private void CheckAuth(string pwOverride = null, Action <object> authCompletedCallback = null) { NamedBackgroundWorker nbw = new NamedBackgroundWorker(@"UpdaterServiceAuthCheck"); nbw.DoWork += (a, b) => { b.Result = false; string host = @"ftp.me3tweaks.com"; string username = Username; string password = pwOverride ?? Password_TextBox.Password; if (string.IsNullOrWhiteSpace(password)) { return; } using (SftpClient sftp = new SftpClient(host, username, password)) { string currentOp = @"Connecting"; try { sftp.Connect(); currentOp = M3L.GetString(M3L.string_checkingLZMAStorageDirectory); sftp.ChangeDirectory(LZMAStoragePath); currentOp = M3L.GetString(M3L.string_checkingManifestsStorageDirectory); sftp.ChangeDirectory(ManifestStoragePath); b.Result = true; } catch (Exception e) { Log.Information($@"Error logging in during operation '{currentOp}': " + e.Message); b.Result = M3L.GetString(M3L.string_interp_errorValidatingSettingsXY, currentOp, e.Message); } } }; nbw.RunWorkerCompleted += (a, b) => { Log.Information(@"Auth checked"); OperationInProgress = false; authCompletedCallback?.Invoke(b.Result); }; OperationInProgress = true; nbw.RunWorkerAsync(); }
private void LaunchTool(string localExecutable) { Action = M3L.GetString(M3L.string_interp_launching, tool); Analytics.TrackEvent(@"Launching tool", new Dictionary <string, string>() { { @"Tool name", Path.GetFileName(localExecutable) } }); // Touchup for MEM LE versions if (Path.GetFileName(localExecutable) == @"MassEffectModderLE.exe") { localExecutable = Path.Combine(Directory.GetParent(localExecutable).FullName, @"MassEffectModder.exe"); } if (Path.GetFileName(localExecutable) == @"MassEffectModderNoGuiLE.exe") { localExecutable = Path.Combine(Directory.GetParent(localExecutable).FullName, @"MassEffectModderNoGui.exe"); } PercentVisibility = Visibility.Collapsed; PercentDownloaded = 0; Log.Information($@"Launching: {localExecutable} {arguments}"); try { var psi = new ProcessStartInfo(localExecutable, arguments) { WorkingDirectory = Directory.GetParent(localExecutable).FullName, }; Process.Start(psi); Thread.Sleep(2500); } catch (Exception e) { Log.Error($@"Error launching tool {localExecutable}: {e.Message}"); Action = M3L.GetString(M3L.string_interp_errorLaunchingToolX, e.Message); Thread.Sleep(6000); } OnClosing(DataEventArgs.Empty); }
public override void OnPanelVisible() { lastPercentUpdateTime = DateTime.Now; NamedBackgroundWorker bw = new NamedBackgroundWorker(@"DeploymentValidation"); bw.DoWork += (a, b) => { ProgressIndeterminate = true; foreach (var checkItem in DeploymentChecklistItems) { checkItem.ExecuteValidationFunction(); } }; bw.RunWorkerCompleted += (a, b) => { PrecheckCompleted = true; ProgressIndeterminate = false; OperationText = M3L.GetString(M3L.string_verifyAboveItemsBeforeDeployment); CommandManager.InvalidateRequerySuggested(); }; bw.RunWorkerAsync(); }