public void ThreadRestauraDoc()
        {
            string         linha = "";
            Banco_de_Dados db    = new Banco_de_Dados();

            if (db.Deletar())
            {
                StreamReader sr = new StreamReader(CaminhoArq);

                while ((linha = sr.ReadLine()) != null)
                {
                    Concurso concurso = new Concurso();
                    string[] Dados    = linha.Split('#');
                    concurso.NumConcurso       = Convert.ToInt32(Dados[0]);
                    concurso.Data              = Dados[1];
                    concurso.Dezenas           = Dados[2].Split('-');
                    concurso.Acumulado         = Convert.ToDouble(Dados[3]);
                    concurso.Acumulou          = Dados[4];
                    concurso.ProximaEstimativa = Convert.ToDouble(Dados[5].Replace("$", ""));

                    db.Insert(concurso);
                }
                MessageBox.Show("Resturação dos Dados concluida com sucesso!", "Sucesso!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
            }
            else
            {
                MessageBox.Show("Erro na restuaração do Backup.", "Opps!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
            }
        }
        public void FuncThread()
        {
            Banco_de_Dados  db           = new Banco_de_Dados();
            List <Concurso> TodConcursos = ApiMega.GetTodosConcursos();

            TodConcursos.Reverse();

            if (TodConcursos != null)
            {
                db.Deletar();
                for (int i = 0; i < TodConcursos.Count; i++)
                {
                    db.Insert(TodConcursos[i]);
                }
                MessageBox.Show("Banco Resetado com Sucesso!", "Sucesso!", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                MessageBox.Show("Ocorreu um erro do lado da API, restauração cancelada!", "Opss!", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
Exemplo n.º 3
0
        //====================
        // === FUNÇÃO LOAD ===
        //====================
        //===============================================================
        // === FUNÇÃO QUE RETORNA O ATRIBUTOS PRINCIPAIS DA MEGA SENA ===
        //===============================================================
        private void MenuInicial_Load(object sender, EventArgs e)
        {
            string strPageCode = "";
            string DataMega = "", ValorAcumulado = "0";
            string Co = "";

            string[]      Dezenas       = new string[5];
            dynamic       dobj          = "";
            string        JsonDezenas   = "";
            List <string> Sharp_Dezenas = new List <string>();

            try
            {
                WebClient webClient = new WebClient();
                strPageCode = webClient.DownloadString("https://www.lotodicas.com.br/api/v2/mega_sena/results/last?token=8039cc263cffaeb86a48b98c7301c763399ae0d733c425224a42d43c361b3bb8");
                dobj        = JsonConvert.DeserializeObject <dynamic>(strPageCode);

                DataMega = dobj["data"]["draw_date"].ToString();
                DateTime dateTime = Convert.ToDateTime(DataMega);
                DataMega       = dateTime.Day.ToString() + @"/" + (dateTime.Month < 10 ? "0" + dateTime.Month.ToString() + @"/" : dateTime.Month.ToString() + @"/") + dateTime.Year.ToString();
                ValorAcumulado = dobj["data"]["next_draw_prize"].ToString();
                JsonDezenas    = dobj["data"]["drawing"].ToString();
                Co             = dobj["data"]["draw_number"].ToString();
                Sharp_Dezenas  = JsonConvert.DeserializeObject <List <string> >(JsonDezenas);
                Online         = true;

                if (ValorAcumulado == "0")
                {
                    lblAcumulou.Text        = "Houve um Ganhador!";
                    lblAcumulou.Location    = new Point(449, 208);
                    ValorAcumulado          = dobj["data"]["next_draw_prize"].ToString();
                    lblValorEstima.Text     = "R$ " + ValorAcumulado;
                    lblValorEstima.Location = new Point(136, 618);
                    lblResultConcurso.Text  = Co;
                }
                else
                {
                    lblValorEstima.Text    = "R$ " + ValorAcumulado;
                    lblAcumulou.Text       = "Acumulou!";
                    lblAcumulou.Location   = new Point(469, 208);
                    lblResultConcurso.Text = Co;
                }

                string NoListDezenas = string.Join(", ", Sharp_Dezenas.ToArray());
                Dezenas                = NoListDezenas.Split(',');
                lblDataMega.Text       = DataMega.Replace('-', '/');
                lblD1.Text             = Dezenas[0];
                lblD2.Text             = Dezenas[1];
                lblD3.Text             = Dezenas[2];
                lblD4.Text             = Dezenas[3];
                lblD5.Text             = Dezenas[4];
                lblD6.Text             = Dezenas[5];
                lblResultConcurso.Text = Co;

                Banco_de_Dados db    = new Banco_de_Dados();
                int            value = db.Buscar("");
                int            con   = Convert.ToInt32(Co);
                if (value < con)
                {
                    int QtdJNInsert = con - value;
                    int i           = 1;
                    while (QtdJNInsert > 0)
                    {
                        strPageCode = webClient.DownloadString("https://www.lotodicas.com.br/api/v2/mega_sena/results/" + (value + i) + "?token=8039cc263cffaeb86a48b98c7301c763399ae0d733c425224a42d43c361b3bb8".ToString());
                        dobj        = JsonConvert.DeserializeObject <dynamic>(strPageCode);

                        DataMega       = dobj["data"]["draw_date"].ToString();
                        ValorAcumulado = dobj["data"]["next_draw_prize"].ToString();
                        JsonDezenas    = dobj["data"]["drawing"].ToString();
                        Co             = dobj["data"]["draw_number"].ToString();
                        Sharp_Dezenas  = JsonConvert.DeserializeObject <List <string> >(JsonDezenas);

                        Concurso concurso = new Concurso();
                        concurso.NumConcurso = Convert.ToInt32(Co);
                        concurso.Data        = DataMega;
                        concurso.Acumulado   = Convert.ToDouble(dobj["data"]["next_draw_prize"].ToString());
                        concurso.Acumulou    = dobj["data"]["has_winner"].ToString() == "false" ? "NAO" : "SIM";
                        string NoListDezenas2 = string.Join(", ", Sharp_Dezenas.ToArray());
                        concurso.Dezenas           = NoListDezenas2.Split(',');
                        concurso.ProximaEstimativa = Convert.ToDouble(ValorAcumulado.ToString());
                        db.Insert(concurso);

                        i++;
                        QtdJNInsert--;
                    }
                }
            }
            catch (Exception)
            {
                Online = false;
                Banco_de_Dados db       = new Banco_de_Dados();
                Concurso       concurso = new Concurso();

                int IdCon = db.Buscar("oi");
                concurso = db.Buscar(IdCon);

                Co       = concurso.NumConcurso.ToString();
                DataMega = concurso.Data.ToString();
                DateTime dateTime = Convert.ToDateTime(DataMega);
                DataMega       = dateTime.Day.ToString() + @"/" + (dateTime.Month < 10 ? "0" + dateTime.Month.ToString() + @"/" : dateTime.Month.ToString() + @"/") + dateTime.Year.ToString();
                ValorAcumulado = concurso.ProximaEstimativa.ToString();

                for (int i = 0; i < concurso.Dezenas.Length; i++)
                {
                    Sharp_Dezenas.Add(concurso.Dezenas[i]);
                }

                if (concurso.Acumulou == "nao" || concurso.Acumulou == "Não" || concurso.Acumulou == "NAO")
                {
                    lblAcumulou.Text       = "Houve um Ganhador!";
                    lblAcumulou.Location   = new Point(309, 208);
                    ValorAcumulado         = concurso.ProximaEstimativa.ToString();
                    lblValorEstima.Text    = "R$ " + concurso.ProximaEstimativa.ToString();
                    lblResultConcurso.Text = Co;
                }
                else
                {
                    lblValorEstima.Text    = "R$ " + ValorAcumulado;
                    lblAcumulou.Text       = "Acumulou!";
                    lblAcumulou.Location   = new Point(469, 208);
                    lblResultConcurso.Text = Co;
                }

                string NoListDezenas2 = string.Join(", ", Sharp_Dezenas.ToArray());
                Dezenas          = NoListDezenas2.Split(',');
                lblDataMega.Text = DataMega.Replace('-', '/');
                lblD1.Text       = Dezenas[0];
                lblD2.Text       = Dezenas[1];
                lblD3.Text       = Dezenas[2];
                lblD4.Text       = Dezenas[3];
                lblD5.Text       = Dezenas[4];
                lblD6.Text       = Dezenas[5];
            }
        }
        //=======================================
        // === CLIQUE NO BOTÃO SALVAR INSERIR ===
        //=======================================
        private void btnSalvarInserir_Click(object sender, EventArgs e)
        {
            Banco_de_Dados db = new Banco_de_Dados();

            if (txtInserirAcumulou.Text != "" || mktData.MaskCompleted && mktDezenas.MaskCompleted && txtInserirEstimativa.Text != "" && txtInserirNumConcurso.Text != "")
            {
                if (int.TryParse(txtInserirNumConcurso.Text, out int NumCon) == true && NumCon > 0)
                {
                    bool     erro           = false;
                    string[] D              = mktDezenas.Text.Split('-');
                    int[]    VerifcaDezenas = new int[D.Length];
                    for (int i = 0; i < D.Length; i++)
                    {
                        VerifcaDezenas[i] = int.Parse(D[i]);
                        if (VerifcaDezenas[i] > 60 || VerifcaDezenas[i] == 0)
                        {
                            i    = D.Length;
                            erro = true;
                        }
                    }
                    for (int i = 0; i < D.Length; i++)
                    {
                        int index = SubAnalise.ArraySeach(VerifcaDezenas, VerifcaDezenas[i]);

                        for (int j = index + 1; j < D.Length; j++)
                        {
                            if (VerifcaDezenas[j] == VerifcaDezenas[index])
                            {
                                erro = true;
                            }
                        }
                    }
                    if (erro == true)
                    {
                        MessageBox.Show("Os números das Dezenas devem estar entre 1 e 60 e não podem ser repetidos", "Opss!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                        return;
                    }

                    CO.NumConcurso = NumCon;
                    int value = db.Buscar("oi") + 1;
                    if (value == NumCon)
                    {
                        string   data     = mktData.Text;
                        DateTime dateTime = Convert.ToDateTime(data);
                        CO.Data              = dateTime.Year.ToString() + @"/" + (dateTime.Month < 10 ? "0" + dateTime.Month.ToString() + @"/" : dateTime.Month.ToString() + @"/") + dateTime.Day.ToString();
                        CO.Data              = mktData.Text;
                        CO.Acumulou          = cbmInserirAcumulou.Text;
                        CO.Acumulado         = Convert.ToDouble(txtInserirAcumulou.Text);
                        CO.ProximaEstimativa = Convert.ToDouble(txtInserirEstimativa.Text);
                        CO.Dezenas           = mktDezenas.Text.Split('-');

                        if (db.Insert(CO))
                        {
                            MessageBox.Show("Os dados foram guardados com sucesso!", "Sucesso!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                            AtualizaGrid();
                        }
                        else
                        {
                            MessageBox.Show("Ocorreu um erro para guardar os dados! " + Banco_de_Dados.message, "Óh não!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                        }
                    }
                    else
                    {
                        MessageBox.Show("O Concurso deve ser exatamente 1 núemro maior que o ultimo concurso!!", "Opsss!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                    }
                }
                else
                {
                    MessageBox.Show("O Concurso deve conter somente números e ser maior que 0!!", "Opsss!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                }
            }
            else
            {
                MessageBox.Show("Nenhum campo pode estar vazio!!", "Opsss!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
            }
        }