Пример #1
0
        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;
        }
Пример #2
0
        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);
                }
            }
        }
Пример #3
0
        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.
        }
Пример #4
0
		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.
		}
Пример #5
0
        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);
                }
            }
        }