/// <summary> /// Attempt to get the list of character types. /// </summary> public bool GetCharacterTypes() { omaeSoapClient objService = _objOmaeHelper.GetOmaeService(); try { MemoryStream objStream = new MemoryStream(); XmlTextWriter objWriter = new XmlTextWriter(objStream, Encoding.UTF8); objService.GetCharacterTypes().WriteTo(objWriter); // Flush the output. objWriter.Flush(); objStream.Flush(); XmlDocument objXmlDocument = _objOmaeHelper.XmlDocumentFromStream(objStream); // Close everything now that we're done. objWriter.Close(); objStream.Close(); // Stuff all of the items into a ListItem List. foreach (XmlNode objNode in objXmlDocument.SelectNodes("/types/type")) { ListItem objItem = new ListItem(); objItem.Value = objNode["id"].InnerText; objItem.Name = objNode["name"].InnerText; _lstCharacterTypes.Add(objItem); } // Add an item for Official NPCs. ListItem objNPC = new ListItem(); objNPC.Value = "4"; objNPC.Name = "Official NPC Packs"; _lstCharacterTypes.Add(objNPC); // Add an item for Custom Data. ListItem objData = new ListItem(); objData.Value = "data"; objData.Name = "Data"; _lstCharacterTypes.Add(objData); // Add an item for Character Sheets. ListItem objSheets = new ListItem(); objSheets.Value = "sheets"; objSheets.Name = "Character Sheets"; _lstCharacterTypes.Add(objSheets); cboCharacterTypes.Items.Clear(); cboCharacterTypes.DataSource = _lstCharacterTypes; cboCharacterTypes.ValueMember = "Value"; cboCharacterTypes.DisplayMember = "Name"; } catch (EndpointNotFoundException) { MessageBox.Show(NO_CONNECTION_MESSAGE, NO_CONNECTION_TITLE, MessageBoxButtons.OK, MessageBoxIcon.Error); } objService.Close(); return(false); }
/// <summary> /// Attempt to get the list of character types. /// </summary> public bool GetCharacterTypes() { omaeSoapClient objService = OmaeHelper.GetOmaeService(); try { MemoryStream objStream = new MemoryStream(); XmlTextWriter objWriter = new XmlTextWriter(objStream, Encoding.UTF8); objService.GetCharacterTypes().WriteTo(objWriter); // Flush the output. objWriter.Flush(); XmlDocument objXmlDocument = OmaeHelper.XmlDocumentFromStream(objStream); // Close everything now that we're done. objWriter.Close(); // Stuff all of the items into a ListItem List. foreach (XmlNode objNode in objXmlDocument.SelectNodes("/types/type")) { _lstCharacterTypes.Add(new ListItem(objNode["id"].InnerText, objNode["name"].InnerText)); } _lstCharacterTypes.Add(new ListItem("4", "Official NPC Packs")); _lstCharacterTypes.Add(new ListItem("data", "Data")); _lstCharacterTypes.Add(new ListItem("sheets", "Character Sheets")); cboCharacterTypes.Items.Clear(); cboCharacterTypes.DataSource = _lstCharacterTypes; cboCharacterTypes.ValueMember = nameof(ListItem.Value); cboCharacterTypes.DisplayMember = nameof(ListItem.Name); } catch (EndpointNotFoundException) { Program.MainForm.ShowMessageBox(NO_CONNECTION_MESSAGE, NO_CONNECTION_TITLE, MessageBoxButtons.OK, MessageBoxIcon.Error); } objService.Close(); return(false); }
private void cmdSearch_Click(object sender, EventArgs e) { omaeSoapClient objService = OmaeHelper.GetOmaeService(); // Clear the current contents of the Omae Panel. Detach the events before clearing it. foreach (OmaeRecord objRecord in panOmae.Controls.OfType <OmaeRecord>()) { objRecord.OmaeDownloadClicked -= objRecord_OmaeDownloadClicked; objRecord.OmaePostUpdateClicked -= objRecord_OmaePostUpdateClicked; objRecord.OmaeDeleteClicked -= objRecord_OmaeDeleteClicked; } panOmae.Controls.Clear(); // Set the current operating mode. switch (cboCharacterTypes.SelectedValue.ToString()) { case "data": _objMode = OmaeMode.Data; break; case "sheets": _objMode = OmaeMode.Sheets; break; default: _objMode = OmaeMode.Character; break; } // Search for characters. if (_objMode == OmaeMode.Character) { try { MemoryStream objStream = new MemoryStream(); XmlTextWriter objWriter = new XmlTextWriter(objStream, Encoding.UTF8); objService.FetchCharacters153(Convert.ToInt32(cboCharacterTypes.SelectedValue), Convert.ToInt32(cboSortOrder.SelectedValue), cboFilterMetatype.Text, cboFilterMetavariant.Text, Convert.ToInt32(cboFilterMode.SelectedValue), txtFilterUser.Text, cboFilterQuality1.Text, cboFilterQuality2.Text, cboFilterQuality3.Text).WriteTo(objWriter); // Flush the output. objWriter.Flush(); XmlDocument objXmlDocument = OmaeHelper.XmlDocumentFromStream(objStream); // Close everything now that we're done. objWriter.Close(); if (objXmlDocument.SelectNodes("/characters/character").Count == 0) { Label lblResults = new Label { Text = LanguageManager.GetString("String_Omae_NoCharacters", GlobalOptions.Language), Width = 200 }; panOmae.Controls.Add(lblResults); } else { int intCounter = -1; foreach (XmlNode objNode in objXmlDocument.SelectNodes("/characters/character")) { intCounter++; OmaeRecord objRecord = new OmaeRecord(objNode, Convert.ToInt32(cboCharacterTypes.SelectedValue), OmaeMode.Character); objRecord.OmaeDownloadClicked += objRecord_OmaeDownloadClicked; objRecord.OmaePostUpdateClicked += objRecord_OmaePostUpdateClicked; objRecord.OmaeDeleteClicked += objRecord_OmaeDeleteClicked; if ((objRecord.UserName == txtUserName.Text || txtUserName.Text == "Nebular") && _blnLoggedIn) { objRecord.OwnedByUser = true; } objRecord.Top = intCounter * 88; panOmae.Controls.Add(objRecord); } } objService.Close(); } catch (EndpointNotFoundException) { MessageBox.Show(NO_CONNECTION_MESSAGE, NO_CONNECTION_TITLE, MessageBoxButtons.OK, MessageBoxIcon.Error); } } // Search for data. else if (_objMode == OmaeMode.Data) { try { MemoryStream objStream = new MemoryStream(); XmlTextWriter objWriter = new XmlTextWriter(objStream, Encoding.UTF8); objService.FetchDataFiles(Convert.ToInt32(cboSortOrder.SelectedValue), string.Empty, txtFilterUser.Text).WriteTo(objWriter); // Flush the output. objWriter.Flush(); XmlDocument objXmlDocument = OmaeHelper.XmlDocumentFromStream(objStream); // Close everything now that we're done. objWriter.Close(); if (objXmlDocument.SelectNodes("/datas/data").Count == 0) { Label lblResults = new Label { Text = LanguageManager.GetString("String_Omae_NoData", GlobalOptions.Language), Width = 200 }; panOmae.Controls.Add(lblResults); } else { int intCounter = -1; foreach (XmlNode objNode in objXmlDocument.SelectNodes("/datas/data")) { intCounter++; OmaeRecord objRecord = new OmaeRecord(objNode, 0, OmaeMode.Data); objRecord.OmaeDownloadClicked += objRecord_OmaeDownloadClicked; objRecord.OmaePostUpdateClicked += objRecord_OmaePostUpdateClicked; objRecord.OmaeDeleteClicked += objRecord_OmaeDeleteClicked; if ((objRecord.UserName == txtUserName.Text || txtUserName.Text == "Nebular") && _blnLoggedIn) { objRecord.OwnedByUser = true; } objRecord.Top = intCounter * 88; panOmae.Controls.Add(objRecord); } } objService.Close(); } catch (EndpointNotFoundException) { MessageBox.Show(NO_CONNECTION_MESSAGE, NO_CONNECTION_TITLE, MessageBoxButtons.OK, MessageBoxIcon.Error); } } // Search for character sheets. else if (_objMode == OmaeMode.Sheets) { try { MemoryStream objStream = new MemoryStream(); XmlTextWriter objWriter = new XmlTextWriter(objStream, Encoding.UTF8); objService.FetchSheets(Convert.ToInt32(cboSortOrder.SelectedValue), txtFilterUser.Text).WriteTo(objWriter); // Flush the output. objWriter.Flush(); XmlDocument objXmlDocument = OmaeHelper.XmlDocumentFromStream(objStream); // Close everything now that we're done. objWriter.Close(); if (objXmlDocument.SelectNodes("/sheets/sheet").Count == 0) { Label lblResults = new Label { Text = LanguageManager.GetString("String_Omae_NoSheets", GlobalOptions.Language), Width = 200 }; panOmae.Controls.Add(lblResults); } else { int intCounter = -1; foreach (XmlNode objNode in objXmlDocument.SelectNodes("/sheets/sheet")) { intCounter++; OmaeRecord objRecord = new OmaeRecord(objNode, 0, OmaeMode.Sheets); objRecord.OmaeDownloadClicked += objRecord_OmaeDownloadClicked; objRecord.OmaePostUpdateClicked += objRecord_OmaePostUpdateClicked; objRecord.OmaeDeleteClicked += objRecord_OmaeDeleteClicked; if ((objRecord.UserName == txtUserName.Text || txtUserName.Text == "Nebular") && _blnLoggedIn) { objRecord.OwnedByUser = true; } objRecord.Top = intCounter * 88; panOmae.Controls.Add(objRecord); } } objService.Close(); } catch (EndpointNotFoundException) { MessageBox.Show(NO_CONNECTION_MESSAGE, NO_CONNECTION_TITLE, MessageBoxButtons.OK, MessageBoxIcon.Error); } } }