Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
 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);
     }
 }
Exemplo n.º 3
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);
                }
            }
        }
Exemplo n.º 4
0
        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();
        }
Exemplo n.º 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);
                }
            }
        }