private void objRecord_OmaeDeleteClicked(Object sender) { if (_objMode == OmaeMode.Character) { // Make sure the user wants to delete the character. if (MessageBox.Show(LanguageManager.GetString("Message_Omae_ConfirmDelete", GlobalOptions.Language), LanguageManager.GetString("MessageTitle_Omae_DeleteCharacter", GlobalOptions.Language), MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) return; // Delete the character. OmaeRecord objRecord = (OmaeRecord) sender; omaeSoapClient objService = OmaeHelper.GetOmaeService(); if (objService.DeleteCharacter(objRecord.CharacterID)) MessageBox.Show(LanguageManager.GetString("Message_Omae_CharacterDeleted", GlobalOptions.Language), LanguageManager.GetString("MessageTitle_Omae_DeleteCharacter", GlobalOptions.Language), MessageBoxButtons.OK, MessageBoxIcon.Information); else MessageBox.Show(LanguageManager.GetString("Message_Omae_CharacterDeleteError", GlobalOptions.Language), LanguageManager.GetString("MessageTitle_Omae_DeleteCharacter", GlobalOptions.Language), MessageBoxButtons.OK, MessageBoxIcon.Error); } else if (_objMode == OmaeMode.Data) { // Make sure the user wants to delete the data. if (MessageBox.Show(LanguageManager.GetString("Message_Omae_ConfirmData", GlobalOptions.Language), LanguageManager.GetString("MessageTitle_Omae_DeleteData", GlobalOptions.Language), MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) return; // Delete the data. OmaeRecord objRecord = (OmaeRecord)sender; omaeSoapClient objService = OmaeHelper.GetOmaeService(); if (objService.DeleteDataFile(objRecord.CharacterID)) MessageBox.Show(LanguageManager.GetString("Message_Omae_DataDeleted", GlobalOptions.Language), LanguageManager.GetString("MessageTitle_Omae_DeleteData", GlobalOptions.Language), MessageBoxButtons.OK, MessageBoxIcon.Information); else MessageBox.Show(LanguageManager.GetString("Message_Omae_DataDeleteError", GlobalOptions.Language), LanguageManager.GetString("MessageTitle_Omae_DeleteData", GlobalOptions.Language), MessageBoxButtons.OK, MessageBoxIcon.Error); } else if (_objMode == OmaeMode.Sheets) { // Make sure the user wants to delete the character sheet. if (MessageBox.Show(LanguageManager.GetString("Message_Omae_ConfirmSheet", GlobalOptions.Language), LanguageManager.GetString("MessageTitle_Omae_DeleteData", GlobalOptions.Language), MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) return; // Delete the data. OmaeRecord objRecord = (OmaeRecord)sender; omaeSoapClient objService = OmaeHelper.GetOmaeService(); if (objService.DeleteSheet(objRecord.CharacterID)) MessageBox.Show(LanguageManager.GetString("Message_Omae_SheetDeleted", GlobalOptions.Language), LanguageManager.GetString("MessageTitle_Omae_DeleteData", GlobalOptions.Language), MessageBoxButtons.OK, MessageBoxIcon.Information); else MessageBox.Show(LanguageManager.GetString("Message_Omae_SheetDeleteError", GlobalOptions.Language), LanguageManager.GetString("MessageTitle_Omae_DeleteData", GlobalOptions.Language), MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void objRecord_OmaePostUpdateClicked(Object sender) { OmaeRecord objRecord = (OmaeRecord)sender; if (_objMode == OmaeMode.Character) { frmOmaeUpload frmUpload = new frmOmaeUpload(txtUserName.Text, _lstCharacterTypes, objRecord.CharacterType, objRecord.CharacterID, objRecord.Description); frmUpload.ShowDialog(this); } if (_objMode == OmaeMode.Data) { frmOmaeUploadData frmUpload = new frmOmaeUploadData(txtUserName.Text, objRecord.CharacterID, objRecord.Description, objRecord.CharacterName); frmUpload.ShowDialog(this); } if (_objMode == OmaeMode.Sheets) { frmOmaeUploadSheet frmUpload = new frmOmaeUploadSheet(txtUserName.Text, objRecord.CharacterID, objRecord.Description, objRecord.CharacterName); frmUpload.ShowDialog(this); } }
private void cmdSearch_Click(object sender, EventArgs e) { omaeSoapClient objService = _objOmaeHelper.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(); objStream.Flush(); XmlDocument objXmlDocument = _objOmaeHelper.XmlDocumentFromStream(objStream); // Close everything now that we're done. objWriter.Close(); objStream.Close(); if (objXmlDocument.SelectNodes("/characters/character").Count == 0) { Label lblResults = new Label(); lblResults.Text = LanguageManager.Instance.GetString("String_Omae_NoCharacters"); lblResults.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. 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(); objStream.Flush(); XmlDocument objXmlDocument = _objOmaeHelper.XmlDocumentFromStream(objStream); // Close everything now that we're done. objWriter.Close(); objStream.Close(); if (objXmlDocument.SelectNodes("/datas/data").Count == 0) { Label lblResults = new Label(); lblResults.Text = LanguageManager.Instance.GetString("String_Omae_NoData"); lblResults.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. 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(); objStream.Flush(); XmlDocument objXmlDocument = _objOmaeHelper.XmlDocumentFromStream(objStream); // Close everything now that we're done. objWriter.Close(); objStream.Close(); if (objXmlDocument.SelectNodes("/sheets/sheet").Count == 0) { Label lblResults = new Label(); lblResults.Text = LanguageManager.Instance.GetString("String_Omae_NoSheets"); lblResults.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); } } }
private void objRecord_OmaeDownloadClicked(Object sender) { // Setup the web service. OmaeRecord objRecord = (OmaeRecord)sender; omaeSoapClient objService = _objOmaeHelper.GetOmaeService(); if (_objMode == OmaeMode.Character) { if (objRecord.CharacterType != 4) { // Download the selected character. string strFileName = objRecord.CharacterName + ".chum5"; strFileName = FileSafe(strFileName); // If the Omae save directory does not yet exist, create it. string strSavePath = Path.Combine(Application.StartupPath, "saves"); if (!Directory.Exists(strSavePath)) { Directory.CreateDirectory(strSavePath); } string omaeDirectoryPath = Path.Combine(strSavePath, "omae"); if (!Directory.Exists(omaeDirectoryPath)) { Directory.CreateDirectory(omaeDirectoryPath); } // See if there is already a file with the character's name in the Downloads directory. string strFullPath = Path.Combine(omaeDirectoryPath, strFileName); if (File.Exists(strFullPath)) { if (MessageBox.Show(LanguageManager.Instance.GetString("Message_Omae_FileExists").Replace("{0}", strFileName), LanguageManager.Instance.GetString("MessageTitle_Omae_FileExists"), MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No) { return; } } try { // Download the compressed file. byte[] bytFile = objService.DownloadCharacter(objRecord.CharacterID); if (bytFile.Length == 0) { MessageBox.Show(LanguageManager.Instance.GetString("Message_Omae_CannotFindCharacter"), LanguageManager.Instance.GetString("MessageTitle_Omae_CannotFindCharacter"), MessageBoxButtons.OK, MessageBoxIcon.Error); objService.Close(); return; } // Decompress the byte array and write it to a file. bytFile = _objOmaeHelper.Decompress(bytFile); File.WriteAllBytes(strFullPath, bytFile); if (MessageBox.Show(LanguageManager.Instance.GetString("Message_Omae_CharacterDownloaded"), LanguageManager.Instance.GetString("MessageTitle_Omae_CharacterDownloaded"), MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { _frmMain.LoadCharacter(strFullPath); } } catch (EndpointNotFoundException) { MessageBox.Show(NO_CONNECTION_MESSAGE, NO_CONNECTION_TITLE, MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { // Download the selected NPC pack. string strFileName = objRecord.CharacterName + ".chum5"; strFileName = FileSafe(strFileName); // If the Omae save directory does not yet exist, create it. string strSavePath = Path.Combine(Application.StartupPath, "saves"); if (!Directory.Exists(strSavePath)) { Directory.CreateDirectory(strSavePath); } try { // Download the compressed file. byte[] bytFile = objService.DownloadCharacter(objRecord.CharacterID); if (bytFile.Length == 0) { MessageBox.Show(LanguageManager.Instance.GetString("Message_Omae_CannotFindCharacter"), LanguageManager.Instance.GetString("MessageTitle_Omae_CannotFindCharacter"), MessageBoxButtons.OK, MessageBoxIcon.Error); objService.Close(); return; } // Decompress the byte array and write it to a file. _objOmaeHelper.DecompressNPCs(bytFile); MessageBox.Show(LanguageManager.Instance.GetString("Message_Omae_NPCPackDownloaded"), LanguageManager.Instance.GetString("MessageTitle_Omae_CharacterDownloaded"), MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (EndpointNotFoundException) { MessageBox.Show(NO_CONNECTION_MESSAGE, NO_CONNECTION_TITLE, MessageBoxButtons.OK, MessageBoxIcon.Error); } } } else if (_objMode == OmaeMode.Data) { try { // Download the compressed file. byte[] bytFile = objService.DownloadDataFile(objRecord.CharacterID); if (bytFile.Length == 0) { MessageBox.Show(LanguageManager.Instance.GetString("Message_Omae_CannotFindData"), LanguageManager.Instance.GetString("MessageTitle_Omae_CannotFindData"), MessageBoxButtons.OK, MessageBoxIcon.Error); objService.Close(); return; } // Decompress the byte array and write it to a file. _objOmaeHelper.DecompressDataFile(bytFile, objRecord.CharacterID.ToString()); // Show a message saying everything is done. MessageBox.Show(LanguageManager.Instance.GetString("Message_Omae_DataDownloaded"), LanguageManager.Instance.GetString("MessageTitle_Omae_DataDownloaded"), MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (EndpointNotFoundException) { MessageBox.Show(NO_CONNECTION_MESSAGE, NO_CONNECTION_TITLE, MessageBoxButtons.OK, MessageBoxIcon.Error); } } else if (_objMode == OmaeMode.Sheets) { // If the Omae sheets directory does not yet exist, create it. string strSheetsPath = Path.Combine(Application.StartupPath, "sheets", "omae"); if (!Directory.Exists(strSheetsPath)) { Directory.CreateDirectory(strSheetsPath); } try { // Download the compressed file. byte[] bytFile = objService.DownloadSheet(objRecord.CharacterID); if (bytFile.Length == 0) { MessageBox.Show(LanguageManager.Instance.GetString("Message_Omae_CannotFindSheet"), LanguageManager.Instance.GetString("MessageTitle_Omae_CannotFindSheet"), MessageBoxButtons.OK, MessageBoxIcon.Error); objService.Close(); return; } // Decompress the byte array and write it to a file. _objOmaeHelper.DecompressCharacterSheet(bytFile); // Show a message saying everything is done. MessageBox.Show(LanguageManager.Instance.GetString("Message_Omae_SheetDownloaded"), LanguageManager.Instance.GetString("MessageTitle_Omae_SheetDownloaded"), MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (EndpointNotFoundException) { MessageBox.Show(NO_CONNECTION_MESSAGE, NO_CONNECTION_TITLE, MessageBoxButtons.OK, MessageBoxIcon.Error); } } // Close the service now that we're done with it. objService.Close(); }
private void cmdSearch_Click(object sender, EventArgs e) { omaeSoapClient objService = _objOmaeHelper.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(); objStream.Flush(); XmlDocument objXmlDocument = _objOmaeHelper.XmlDocumentFromStream(objStream); // Close everything now that we're done. objWriter.Close(); objStream.Close(); if (objXmlDocument.SelectNodes("/characters/character").Count == 0) { Label lblResults = new Label(); lblResults.Text = LanguageManager.Instance.GetString("String_Omae_NoCharacters"); lblResults.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. if (_objMode == OmaeMode.Data) { try { MemoryStream objStream = new MemoryStream(); XmlTextWriter objWriter = new XmlTextWriter(objStream, Encoding.UTF8); objService.FetchDataFiles(Convert.ToInt32(cboSortOrder.SelectedValue), "", txtFilterUser.Text).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(); if (objXmlDocument.SelectNodes("/datas/data").Count == 0) { Label lblResults = new Label(); lblResults.Text = LanguageManager.Instance.GetString("String_Omae_NoData"); lblResults.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. 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(); objStream.Flush(); XmlDocument objXmlDocument = _objOmaeHelper.XmlDocumentFromStream(objStream); // Close everything now that we're done. objWriter.Close(); objStream.Close(); if (objXmlDocument.SelectNodes("/sheets/sheet").Count == 0) { Label lblResults = new Label(); lblResults.Text = LanguageManager.Instance.GetString("String_Omae_NoSheets"); lblResults.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); } } }