Example #1
0
        private async void Button_Click(object sender, RoutedEventArgs e)
        {
            if (!string.IsNullOrEmpty(PluginID_txt.Text))
            {
                if (!plugins.Contains(PluginID_txt.Text))
                {
                    if (await new Utils().VerificarExisteAsync(PluginID_txt.Text, "PluginList", "ID"))
                    {
                        //criando Chip dinamicamente
                        PluginInfo p = new PluginInfo();
                        _ = await p.InformacoesAsync(false, PluginID_txt.Text);

                        StackPanel st = new StackPanel {
                            Orientation = Orientation.Vertical
                        };
                        foreach (string item in p.TooltipInfo)
                        {
                            _ = st.Children.Add(new TextBlock()
                            {
                                Text = item
                            });
                        }
                        Chip newChip = new Chip {
                            Cursor = Cursors.Arrow, Content = PluginID_txt.Text, ToolTip = st, IsDeletable = true, DeleteToolTip = "Remover", Margin = new Thickness(2)
                        };
                        //setando tempo que o tooltip ficará visivel!
                        ToolTipService.SetShowDuration(newChip, 100000);
                        //gerando metodo do botao de remover o chip
                        newChip.DeleteClick += NewChip_DeleteClick;
                        //adicionando o chip  no WrapPanel
                        _ = ListChips_wp.Children.Add(newChip);
                        //adicionando ID do plugin em uma List<> para poder saber quais plugins ja foram adicionados!
                        plugins.Add(PluginID_txt.Text);
                        //variavel contadora de plugins adicionados
                        byte i = 1;
                        if (ContarPluginAdd_bg.Badge != null)
                        {
                            i = Convert.ToByte(ContarPluginAdd_bg.Badge);
                            i++;
                        }
                        ContarPluginAdd_bg.Badge = i;
                        PluginID_txt.Clear();
                    }
                    else
                    {
                        TelaInicial.EnviarMensagemDialogHostAsync("Plugin informado nao existe!");
                    }
                }
                else
                {
                    TelaInicial.EnviarMensagemDialogHostAsync("Este plugin ja foi adicionado na lista!");
                }
            }
        }
Example #2
0
        /// <summary>
        /// Mostra as informaçoes da exception disparada.
        /// </summary>
        /// <param name="e">A exception</param>
        public static void MostrarExceptions(Exception e)
        {
            //Tipo: qual exception que foi disparada, lembrando que 'FullName' pega a namespace tbm
            //Erro: mostra a mensagem do erro
            //Informaçoes: mostra as informaçoes gerais do erro
            //Metodo: deveria mostrar o metodo onde a exceçao foi disparada, mas eu to com preguiça de estudar esse troço ai
            //Linha: troço dificil do cao, passei horas tentando achar um jeito, e nao deu muito certo '-'
            string MensagemErro = $"Tipo: {e.GetType().FullName}\n\nErro: {e.Message}\n\nInformaçoes: {e.StackTrace}";            /*\n\nMetodo: {e.StackTrace}\n\nLinha: {new StackTrace().GetFrame(0).GetFileLineNumber()}*/

            //enviando mensagem com o erro
            TelaInicial.EnviarMensagemDialogHostAsync(MensagemErro);
        }
Example #3
0
        /// <summary>
        /// Cria as tabelas no banco de dados caso elas nao existam. (PluginList e LicenceList).
        /// </summary>
        /// <returns>Retorna a conclusao da tarefa</returns>
        public async Task CriarAsync()
        {
            using (MySqlConnection con = new MySqlConnection(await PegarConexaoMySQL.ConexaoAsync()))
            {
                try
                {
                    await con.OpenAsync();

                    using (MySqlCommand createTable = new MySqlCommand(query, con))
                    {
                        _ = await createTable.ExecuteNonQueryAsync();
                    }
                }
                catch (Exception)
                {
                    TelaInicial.EnviarMensagemDialogHostAsync("Nao foi possível gerar a tabela no mysql\nSe for sua primeira inicializaçao, por favor, insira as credenciais na configuraçao\ne selecione o tipo de banco 'Local/Externo'\n\nDepois reinicie o software!");
                }
            }
        }
        private async Task VerificarEAdicionarAsync()
        {
            if (string.IsNullOrEmpty(LicencaGerada_txt.Text))
            {
                TelaInicial.EnviarMensagemDialogHostAsync("Voce precisa gerar uma licença primeiro!");
                return;
            }
            if (string.IsNullOrEmpty(ServidorIP_txt.Text))
            {
                TelaInicial.EnviarMensagemDialogHostAsync("Voce precisa informar o ip do servidor!");
                return;
            }

            bool keyGlobal = LicencaGlobal_tb.IsChecked == true;

            if (VerificarCodigoValido(CodigoPlugin_txt.Text) || keyGlobal)
            {
                if (!await LicencaExisteAsync())
                {
                    if (await CodigoExisteOuLicencaIsGlobal(keyGlobal))
                    {
                        await GerarIDAndAdicionarLicencaAsync(keyGlobal, keyGlobal? 0 : PluginIDValue());
                    }
                    else
                    {
                        TelaInicial.EnviarMensagemDialogHostAsync("ERRO: Plugin informado nao existe!");
                    }
                }
                else
                {
                    TelaInicial.EnviarMensagemDialogHostAsync("ERRO: Está licença ja existe\nClique no botao para gerar outra licença!");
                }
            }
            else
            {
                TelaInicial.EnviarMensagemDialogHostAsync("Codigo do plugin informado é inválido!");
            }
        }