/// <summary> /// Tries to kill the session and updates controls. /// </summary> /// <returns></returns> private async ValueTask <bool> TryKillSessionAsync() { if (SessionID != null) { try { var parameters = new Dictionary <string, string> { ["ENTITYID"] = EntID, ["SESSIONID"] = SessionID, ["SOURCEIP"] = Empty }; var query = APIHelper.BuildPVEQuery("KillSession", parameters); await query.SendXml(Url); btnCreateQuery.Enabled = btnOpenDoc.Enabled = btnUpload.Enabled = btnBuildAPIQuery.Enabled = btnCustom.Enabled = btnSendQuery.Enabled = numDocID.Enabled = numProjID.Enabled = false; numEntID.Enabled = txtPW.Enabled = txtUsername.Enabled = txtURL.Enabled = true; txtSessionID.Clear(); pingTimer.Stop(); } catch { Console.WriteLine("Unable to kill session."); return(false); } } return(true); }
private string BuildQuery() { string paramNames = Empty; string paramVals = Empty; var parameters = new Dictionary <string, string>(); int i = 0; try { foreach (Control c in paramTable.Controls) { if (c is TextBox) { parameters.Add(paramList[i].ToUpper(), c.Text); ++i; } } } catch (Exception e) { Console.WriteLine(e.Message); } return(APIHelper.BuildPVEQuery(cmbQuery.SelectedItem as string, parameters)); }
private async void PingSessionAsync(object sender, EventArgs e) { var parameters = new Dictionary <string, string> { ["ENTITYID"] = EntID, ["SESSIONID"] = SessionID, ["SOURCEIP"] = Empty }; var pingQuery = APIHelper.BuildPVEQuery("PingSession", parameters); await pingQuery.SendXml(Url); }
/// <summary> /// Builds the LoginUserEx3 query /// </summary> /// <returns></returns> private string BuildLoginQuery() { // *TO BE DONE*: Pass the entity ID, user name, and password to the LoginUserEx3 call from the form controls var parameters = new Dictionary <string, string> { ["ENTITYID"] = EntID, ["USERNAME"] = Username, ["PASSWORD"] = Password, ["SOURCEIP"] = Empty, ["CORELICTYPE"] = Empty, ["CLIENTPINGABLE"] = "TRUE", ["REMOTEAUTH"] = "FALSE" }; return(APIHelper.BuildPVEQuery("LoginUserEx3", parameters)); }
private string BuildUploadQuery() { string indexNames = Empty; string indexVals = Empty; string base64 = Empty; bool first = true; foreach (string index in indexList) { if (indexList.First() == index) { indexNames += index; } else { indexNames += $"|{index}"; } } foreach (Control c in indexTable.Controls) { if (c is TextBox && first) { indexVals += c.Text; first = false; } else if (c is TextBox) { indexVals += $"|{c.Text}"; } } try { Byte[] fileBytes = File.ReadAllBytes(txtFilePath.Text); base64 = Convert.ToBase64String(fileBytes); } catch (Exception ex) { Console.WriteLine(ex.Message); MessageBox.Show($"Unable to read file:\n{ex.Message}", "I/O Error"); throw ex; } var parameters = new Dictionary <string, string> { ["ENTITYID"] = mainForm.EntID, ["SESSIONID"] = mainForm.SessionID, ["PARAMETERS"] = Empty, ["SOURCEIP"] = Empty, ["PROJID"] = nupProjID.Value.ToString(), ["FIELDNAMES"] = indexNames, ["FIELDVALUES"] = indexVals, ["ORIGINALFILENAME"] = Path.GetFileName(txtFilePath.Text), ["SAVEDFILE"] = Empty, ["ORIGINALFILENAMEFT"] = Empty, ["SAVEDFILEFT"] = Empty, ["ADDTOFOLDER"] = Empty, ["INFILEDATA"] = base64, ["INFILEDATAFT"] = Empty }; var query = APIHelper.BuildPVEQuery("AttachNewDocToProjectEx", parameters); return(query.ReplaceFirst("INFILEDATA", @"INFILEDATA types:dt=""bin.base64"" xmlns:types=""urn:schemas-microsoft-com:datatypes""")); }