private void cmdUpload_Click(object sender, EventArgs e) { if (!_blnLoggedIn) { MessageBox.Show(LanguageManager.Instance.GetString("Message_Omae_MustLogin"), LanguageManager.Instance.GetString("MessageTitle_Omae_OmaeLogin"), MessageBoxButtons.OK, MessageBoxIcon.Information); return; } OmaeMode objMode = OmaeMode.Character; switch (cboCharacterTypes.SelectedValue.ToString()) { case "data": objMode = OmaeMode.Data; break; case "sheets": objMode = OmaeMode.Sheets; break; default: objMode = OmaeMode.Character; break; } if (objMode == OmaeMode.Character) { frmOmaeUpload frmUpload = new frmOmaeUpload(txtUserName.Text, _lstCharacterTypes, Convert.ToInt32(cboCharacterTypes.SelectedValue)); frmUpload.ShowDialog(this); } else if (objMode == OmaeMode.Data) { frmOmaeUploadData frmUpload = new frmOmaeUploadData(txtUserName.Text); frmUpload.ShowDialog(this); } else if (objMode == OmaeMode.Sheets) { frmOmaeUploadSheet frmUpload = new frmOmaeUploadSheet(txtUserName.Text); frmUpload.ShowDialog(this); } return; }
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); } } }
public OmaeRecord(XmlNode objNode, int intTypeID, OmaeMode objMode) { InitializeComponent(); LanguageManager.TranslateWinForm(GlobalOptions.Language, this); // Populate the basic information. _intCharacterID = Convert.ToInt32(objNode["id"].InnerText); _strCharacterName = objNode["name"].InnerText; lblCharacterName.Text = objNode["name"].InnerText; lblUser.Text = objNode["user"].InnerText; lblDescription.Text = objNode["description"]?.InnerText ?? LanguageManager.GetString("Omae_NoDescription", GlobalOptions.Language); if (DateTime.TryParse(objNode["date"].InnerText, GlobalOptions.InvariantCultureInfo, System.Globalization.DateTimeStyles.None, out DateTime datDate)) { lblDate.Text = LanguageManager.GetString("Omae_UpdatedDate", GlobalOptions.Language) + LanguageManager.GetString("String_Space", GlobalOptions.Language) + datDate.ToShortDateString(); } else { lblDate.Text = LanguageManager.GetString("Omae_UpdatedDate", GlobalOptions.Language) + LanguageManager.GetString("String_Space", GlobalOptions.Language) + LanguageManager.GetString("String_None", GlobalOptions.Language); } lblCount.Text = string.Format(LanguageManager.GetString("Omae_DownloadCount", GlobalOptions.Language), objNode["count"].InnerText); if (objMode == OmaeMode.Character) { // Character-specific information. string strMetatype = objNode["metatype"].InnerText; if (!string.IsNullOrEmpty(objNode["metavariant"].InnerText)) { strMetatype += '(' + objNode["metavariant"].InnerText; } lblMetatype.Text = LanguageManager.GetString("Label_Metatype", GlobalOptions.Language) + LanguageManager.GetString("String_Space", GlobalOptions.Language) + strMetatype; } else if (objMode == OmaeMode.Data) { // Data-specific information. lblMetatype.Text = string.Empty; string[] strFileList = objNode["filesincluded"].InnerText.Split(','); string strOverride = string.Empty; string strCustom = string.Empty; for (int i = 0; i <= strFileList.Length - 2; i++) { string[] strParts = strFileList[i].Split('_'); if (strFileList[i].StartsWith("override")) { strOverride += strParts[strParts.Length - 1] + ", "; } else { strCustom += strParts[strParts.Length - 1] + ", "; } } // Remove the trailing commas from the strings. if (!string.IsNullOrEmpty(strOverride)) { strOverride = strOverride.Substring(0, strOverride.Length - 2); } if (!string.IsNullOrEmpty(strCustom)) { strCustom = strCustom.Substring(0, strCustom.Length - 2); } if (!string.IsNullOrEmpty(strCustom)) { lblMetatype.Text += "Custom: " + strCustom; } if (!string.IsNullOrEmpty(lblMetatype.Text)) { lblMetatype.Text += ". "; } if (!string.IsNullOrEmpty(strOverride)) { lblMetatype.Text += "Override: " + strOverride; } } else if (objMode == OmaeMode.Sheets) { lblMetatype.Text = string.Empty; } _intCharacterType = intTypeID; // This should check to see if the character exists in the user's Omae save directory. // If it does, check the dates. If the last update date is the same or older than the file's current date, don't enable the download button. // If the file does not exist, or the last update date is newer than the file's date, enable the download button. }
public OmaeRecord(XmlNode objNode, int intTypeID, OmaeMode objMode) { InitializeComponent(); LanguageManager.Instance.Load(GlobalOptions.Instance.Language, this); // Populate the basic information. _intCharacterID = Convert.ToInt32(objNode["id"].InnerText); _strCharacterName = objNode["name"].InnerText; lblCharacterName.Text = objNode["name"].InnerText; lblUser.Text = objNode["user"].InnerText; if (objNode["description"].InnerText == "") lblDescription.Text = LanguageManager.Instance.GetString("Omae_NoDescription"); else lblDescription.Text = objNode["description"].InnerText; DateTime datDate = DateTime.Parse(objNode["date"].InnerText, GlobalOptions.Instance.CultureInfo); lblDate.Text = LanguageManager.Instance.GetString("Omae_UpdatedDate") + " " + datDate.ToShortDateString(); lblCount.Text = LanguageManager.Instance.GetString("Omae_DownloadCount").Replace("{0}", objNode["count"].InnerText); if (objMode == OmaeMode.Character) { // Character-specific information. string strMetatype = objNode["metatype"].InnerText; if (objNode["metavariant"].InnerText != "") strMetatype += "(" + objNode["metavariant"].InnerText; lblMetatype.Text = LanguageManager.Instance.GetString("Label_Metatype") + " " + strMetatype; } else if (objMode == OmaeMode.Data) { // Data-specific information. lblMetatype.Text = ""; string[] strFileList = objNode["filesincluded"].InnerText.Split(','); string strOverride = ""; string strCustom = ""; for (int i = 0; i <= strFileList.Length - 2; i++) { string[] strParts = strFileList[i].Split('_'); if (strFileList[i].StartsWith("override")) strOverride += strParts[strParts.Length - 1] + ", "; else strCustom += strParts[strParts.Length - 1] + ", "; } // Remove the trailing commas from the strings. if (strOverride != string.Empty) strOverride = strOverride.Substring(0, strOverride.Length - 2); if (strCustom != string.Empty) strCustom = strCustom.Substring(0, strCustom.Length - 2); if (strCustom != string.Empty) lblMetatype.Text += "Custom: " + strCustom; if (lblMetatype.Text != string.Empty) lblMetatype.Text += ". "; if (strOverride != string.Empty) lblMetatype.Text += "Override: " + strOverride; } else if (objMode == OmaeMode.Sheets) { lblMetatype.Text = ""; } _intCharacterType = intTypeID; // This should check to see if the character exists in the user's Omae save directory. // If it does, check the dates. If the last update date is the same or older than the file's current date, don't enable the download button. // If the file does not exist, or the last update date is newer than the file's date, enable the download button. }
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); } } }