/// <summary> /// Exibe mensagem customizada /// </summary> /// <param name="Titulo">Título da mensagem</param> /// <param name="Mensagem">Descrição da mensagem</param> /// <param name="ImagemDescritiva">Imagem da mensagem</param> /// <param name="Dialogo">Será ShowDialog()?</param> /// <param name="TextoBotao">Texto do botão de ação</param> /// <param name="Evento">Evento do botão de ação</param> public static DialogResult ExibeMensagem(string Titulo, string Mensagem, string ImagemDescritiva, bool Dialogo = false, string TextoBotao = null, EventHandler Evento = null) { // Criar instância do diálogo IwP_CustomMessage IPCM = new IwP_CustomMessage() { _Title = Titulo, _Description = Mensagem, _Image = System.Drawing.Image.FromFile(ImagemDescritiva), ButtonMessage = TextoBotao, CallFor = Evento }; // Exibe mensagem if (Dialogo) { // Exibe fora de método de diálogo IPCM.Show(); // Retornar ignore return(DialogResult.Ignore); } else { // Exibe o diálogo e espera o retorno return(IPCM.ShowDialog()); } }
void BuyItem(object sender, EventArgs e) { // Criar janela de mensagem customizada para confirmação do usuário IwP_CustomMessage ICM = new IwP_CustomMessage(); // Setar meio de pagamento PaymentMethod = "IwPlay Funds"; // Se o preço for 0 if (GamePrice == "0") { PaymentMethod += " FREE"; } else { PaymentMethod += " PAID"; } // Checar se o usuário possui fundos if (float.Parse(DBCS.UserInfo.Wallet) >= float.Parse(GamePrice)) { // Tentar comprar o jogo if (DBCS.UserInfo.CompraItem(float.Parse(GamePrice))) { // Carregar página de inserção Browser.Load($"ipsvr.ironiawn.com.br/games/games.payment?sid={DBCS.UserInfo.SessionID}&" + $"user={DBCS.UserInfo.Username}&gc={GameCode}&m={PaymentMethod}&p={GamePrice}"); } else { // Criar janela de mensagem customizada // Carregar imagem ICM._Image = Image.FromFile(@"brw\sad.brw"); ICM._Title = "NOT ENOUGH IP$"; ICM._Description = $"You don't have enough credits\nto buy the item! :("; // Exibir janela ICM.ShowDialog(); } } else { // Criar janela de mensagem customizada // Carregar imagem ICM._Image = Image.FromFile(@"brw\sad.brw"); ICM._Title = "NOT ENOUGH IP$"; ICM._Description = $"You don't have enough credits\nto buy the item! :("; // Exibir janela ICM.ShowDialog(); } }
private void BuyUsingFunds_Click(object sender, EventArgs e) { /* * // Verifica a confirmação do usuário * if (MessageBox.Show($"Are you sure?\nCurrent credits: IP${DBCS.UserInfo.Wallet}\nItem price: {GamePrice}", "IwPlay - Confirm Transaction", MessageBoxButtons.YesNo) != DialogResult.Yes) * return; */ // Criar janela de mensagem customizada para confirmação do usuário IwP_CustomMessage ICM = new IwP_CustomMessage(); // Carregar imagem ICM._Image = Image.FromFile(@"brw\ips_coin.brw"); ICM._Title = $"BUY ITEM FOR {GamePrice}"; ICM._Description = $"Are you sure?\nYour Wallet: IP${DBCS.UserInfo.Wallet}"; ICM.BackColor = Color.BlueViolet; ICM.CallFor = BuyItem; ICM.ButtonMessage = "BUY"; // Exibir janela ICM.Show(); }
private void UpdateGamePriceButton_Click(object sender, EventArgs e) { // Indicador de revisão bool PendingApproval = false; // Verifica se a descrição do jogo foi alterada if (HTMLEditor.Text != GameDescription) { // Remover qualquer tag html da descrição para nova atualização no elemento de página string NewHTML = HTMLEditor.Text; NewHTML = NewHTML.Replace("<html>", ""); NewHTML = NewHTML.Replace("</html>", ""); // Tentar atualizar informação de preço do jogo if (!GameDatabase.UpdateInfo("GAMEDESCRIPTION", NewHTML, GameCode, GameDeveloper)) { // Mostrar uma mensagem de atualização não efetuada! MessageBox.Show("Error while updating your game description!\nPlease try again.", "IwPlay - Game Editor", MessageBoxButtons.OK, MessageBoxIcon.Error); } } // Verifica se a imagem do jogo foi alterada if (GameImageLink.Text.Trim() != BoxShot) { // Tentar atualizar informação de preço do jogo if (!GameDatabase.UpdateInfo("GAMEIMAGE", GameImageLink.Text.Trim(), GameCode, GameDeveloper)) { // Mostrar uma mensagem de atualização não efetuada! MessageBox.Show("Error while updating your game image link!\nPlease try again.", "IwPlay - Game Editor", MessageBoxButtons.OK, MessageBoxIcon.Error); } } // Verifica se o link foi alterado if (GameBuyLink != CurrentPaymentLinkInput.Text.Trim()) { // Tentar atualizar informação de link de pagamento do jogo if (!GameDatabase.UpdateInfo("GAMEBUYID", CurrentPaymentLinkInput.Text.Trim(), GameCode, GameDeveloper)) { // Mostrar uma mensagem de atualização não efetuada! MessageBox.Show("Error while updating your game payment link!\nPlease try again.", "IwPlay - Game Editor", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { // O jogo estará pendente aprovação IwPlay PendingApproval = true; } } // Verifica se o preço foi alterado if (GamePrice != CurrentGamePriceInput.Text.Trim()) { // Tentar dar parse no texto de preço try { // Verifica se o indicador de gratuidade está checado if (!CheckFreeGame.Checked) { double p = double.Parse(CurrentGamePriceInput.Text.Trim()); } // Tentar atualizar informação de preço do jogo if (!GameDatabase.UpdateInfo("GAMEPRICE", CurrentGamePriceInput.Text == "FREE" ? "0" : CurrentGamePriceInput.Text.Trim(), GameCode, GameDeveloper)) { // Mostrar uma mensagem de atualização não efetuada! MessageBox.Show("Error while updating your game price!\nPlease try again.", "IwPlay - Game Editor", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { // O jogo estará pendente aprovação IwPlay PendingApproval = true; } } catch { // Preço inválido! MessageBox.Show("The new price is invalid, please check and try again!", "IwPlay - Game Editor", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } // Criar janela de mensagem customizada IwP_CustomMessage ICM = new IwP_CustomMessage { // Carregar imagem _Image = PendingApproval ? Image.FromFile(@"brw\submit_approval.brw") : Image.FromFile(@"brw\positive.brw"), _Title = PendingApproval ? "SENT TO REVIEW" : "GAME UPDATED", _Description = PendingApproval ? "The game has been submited to\nreview. We'll notify you on your\ne-mail!\n\nGame is now hidden from public." : "The game has been updated and\nis currently visible for public!" }; // Exibir janela customizada ICM.ShowDialog(); // Resultado OK DialogResult = DialogResult.OK; }
/// <summary> /// Criar arquivo de configuração do jogo /// </summary> /// <param name="GameTitle">Nome do Jogo</param> /// <param name="GameDeveloper">Desenvolvedor do Jogo</param> /// <param name="GameId">ID do Jogo</param> public static bool InsertNewGame(GameInformation Game) { // Verificar se já existe um arquivo de configurações do jogo if (File.Exists(Path.Combine(Directories.TempGameFilesSetup(Game.ID), "tmpFile.IwGX"))) { // Exibe mensagem de confirmação IwP_CustomMessage IPCM = new IwP_CustomMessage() { _Title = "CFG OVERWRITE", _Description = "An game config already exists!\nDo you want to overwrite it?", ButtonMessage = "OVERWRITE", CallFor = null }; // Verifica se o usuário clicou em Overwrite if (IPCM.ShowDialog() != DialogResult.OK) { return(false); } } // Exibir pasta de arquivo FolderBrowserDialog FolderBrowser = new FolderBrowserDialog(); FolderBrowser.Description = "Select your game files folder"; FolderBrowser.ShowNewFolderButton = false; // Caso o usuário selecione a pasta, criar os arquivos if (FolderBrowser.ShowDialog() == DialogResult.OK) { // Lista para handler de arquivos List <string> Files = new List <string>(); // Criar e zipar arquivos ZipFile.CreateFromDirectory(FolderBrowser.SelectedPath, Path.Combine(Directories.TempGameFilesSetup(Game.ID), "tmpFile.IwGX"), CompressionLevel.NoCompression, false, Encoding.UTF8); // Abrir arquivo para leitura ZipArchive zippedFile = ZipFile.OpenRead(Path.Combine(Directories.TempGameFilesSetup(Game.ID), "tmpFile.IwGX")); // Percorrer arquivos dentro do ZIP foreach (var z in zippedFile.Entries) { // Adicionar nome do arquivo à lista Files.Add(z.FullName); } // Sair da instância aberta do ZIP zippedFile.Dispose(); // Converter lista em JSON string FJS = JsonSerializer.Serialize(Files); // Criar detalhes do jogo var Details = new Dictionary <string, string> { ["AppTitle"] = Game.Name, ["AppDeveloper"] = Game.Developer, ["AppId"] = Game.ID, ["AppImage"] = Game.Image, ["Files"] = FJS }; // Converter em JSON string DetailsJS = JsonSerializer.Serialize(Details); // Tentar inserir o jogo na base de dados try { // Criar dados de postagem // Postar no servidor // Verificar retorno if (Hashing.Decrypt(new PostClient().RESTPOST("/games/games.branch", new Dictionary <string, string> { ["sid"] = IwP_Main_Database.UserInfo.SessionID, ["gamecode"] = Game.ID, ["username"] = IwP_Main_Database.UserInfo.Username, ["company"] = Game.Developer, ["setup"] = DetailsJS, ["query"] = Hashing.Encrypt("INSERT") })) == "INS_OK") { return(true); } else { return(false); } } catch (Exception ex) { // Log file LogClient.Log(ex.Message); // Retornar falso por padrão return(false); } finally { // Verificar se pasta temporária do jogo existe if (Directory.Exists(Directories.TempGameFilesSetup(Game.ID))) { Directory.Delete(Directories.TempGameFilesSetup(Game.ID), true); } } } // Retornar falso por padrão return(false); }