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