示例#1
0
        private async void AtualizarInfos_bt_Click(object sender, RoutedEventArgs e)
        {
            List <string> CamposDados = new List <string>
            {
                NomeDoPlugin_txt.Text,
                AutorDoPlugin_txt.Text,
                VersaoDoPlugin_txt.Text,
                TipoDoPlugin_gb.Text,
                PrecoDoPlugin_txt.Text,
                DescricaoDoPlugin_txt.Text,
                //bool: img padrao(0) ou personalizada(1)
                UsarImg_cb.IsChecked.Value ? "1" : "0"
            };

            //verificando se é free ou pago, caso seja free, adicionando 0, pra nao ir como null pro banco
            if (CamposDados[3] == "Gratuito")
            {
                CamposDados[4] = "0";
            }
            //fazendo as demais verificaçoes de campos vazios
            foreach (string i in CamposDados)
            {
                if (string.IsNullOrEmpty(i))
                {
                    MetodosConstantes.EnviarMenssagem("Voce precisa preencher todos os campos!");
                    return;
                }
            }
            //pegando conexao ftp do sqlite
            List <string> con = await new PegarConexaoMySQL_FTP().PegarAsync(PegarInfos.NomeArquivoSQLite, PegarInfos.ConfigFTP, "ftp");
            //criando progressBar que mostrará o progresso no menu.
            ProgressBar progress = new ProgressBar()
            {
                Height = 40, Width = 40, IsIndeterminate = true, HorizontalAlignment = HorizontalAlignment.Right
            };

            //setando style da progressBar
            progress.SetResourceReference(StyleProperty, "MaterialDesignCircularProgressBar");
            //adicionando progressBar no menu
            _ = TelaInicial.MenuPrincipal.Items.Add(progress);
            //...
            progress.ToolTip = "Enviando dados...";
            PluginInfo pl = new PluginInfo();

            //verificando se a opçao de imagem está marcada.
            if (UsarImg_cb.IsChecked.Value)
            {
                if (ImagemPlugin_img.Source == null || (string.IsNullOrEmpty(_caminhoImagem) && EscolherNovaImagem_cb.IsChecked.Value))
                {
                    MetodosConstantes.EnviarMenssagem("Voce precisa selecionar uma imagem.");
                    TelaInicial.MenuPrincipal.Items.Remove(progress);
                    return;
                }
                if (EscolherNovaImagem_cb.IsChecked.Value)
                {
                    progress.ToolTip = "Enviando imagem...";
                    if (await new EnviarArquivoFTP().EnviarAsync("images", _caminhoImagem, $"{CodigoPlugin_txt.Text}.png", con, progress))
                    {
                        MetodosConstantes.EnviarMenssagem($"Novo imagem foi setada para {CodigoPlugin_txt.Text}");
                    }
                }
            }
            else
            {
                _ = await pl.InformacoesAsync(CodigoPlugin_txt.Text, false);

                if (Convert.ToBoolean(pl.DataTable.Rows[0][7]).Equals(true))
                {
                    progress.ToolTip = "Exclundo imagem...";
                    if (await new DeletarArquivoFTP().DeletarAsync("images", $"{CodigoPlugin_txt.Text}.png", con))
                    {
                        MetodosConstantes.EnviarMenssagem("Imagem do plugin foi removida com sucesso!");
                        ImagemPlugin_img.Source = null;
                    }
                }
            }
            if (await pl.AtualizarAsync(CodigoPlugin_txt.Text, CamposDados))
            {
                MetodosConstantes.EnviarMenssagem("Informaçoes do banco foram atualizadas com sucesso!");
            }
            if (!string.IsNullOrEmpty(CaminhoArquivo_txt.Text))
            {
                progress.ToolTip = "Enviando plugin...";
                if (await new EnviarArquivoFTP().EnviarAsync("plugin", CaminhoArquivo_txt.Text, $"{CodigoPlugin_txt.Text}.jar", con, progress))
                {
                    MetodosConstantes.EnviarMenssagem("Arquivo .jar foi atualizado");
                }
            }
            TelaInicial.MenuPrincipal.Items.Remove(progress);
        }