//=================================================
        // === CLIQUE NO BOTÃO BUSCAR DO PAINEL ALTERAR ===
        //=================================================
        private void btnBuscarAlterar_Click(object sender, EventArgs e)
        {
            Banco_de_Dados db = new Banco_de_Dados();

            if (txtNumBuscar.Text != "" && int.TryParse(txtNumBuscar.Text, out int NC) == true && NC > 0)
            {
                Concurso con = db.Buscar(NC);
                if (con.NumConcurso != 0)
                {
                    txtNumConcursoAlterar.Text       = con.NumConcurso.ToString();
                    mktDezenasAlterar.Text           = string.Join("-", con.Dezenas);
                    cbmAcumulouAlterar.SelectedIndex = con.Acumulou == "SIM" ? 0 : 1;
                    txtValorAcumuladoAlterar.Text    = con.Acumulado.ToString();
                    txtEstimativaAlterar.Text        = con.ProximaEstimativa.ToString();
                    DateTime dateTime = Convert.ToDateTime(con.Data);
                    mktDataAlterar.Text = dateTime.Day.ToString() + @"/" + (dateTime.Month < 10 ? "0" + dateTime.Month.ToString() + @"/" : dateTime.Month.ToString() + @"/") + dateTime.Year.ToString();;
                }
                else
                {
                    MessageBox.Show("Número do concurso inválido!", "Opss!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                }
            }
            else
            {
                MessageBox.Show("Para realizar a busca o concurso tem que ser somente números e maior que 0!", "Opss!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
            }
        }
        //==========================================================================
        // === FUNÇÃO QUE RETORNA OS NÚMEROS SORTEADOS DE UM CONCURSO ESPECIFICO ===
        //==========================================================================
        public static string[] GetDezenaConcurso(int Concurso)
        {
            try
            {
                WebClient webClient   = new WebClient();
                string    strPageCode = webClient.DownloadString("https://www.lotodicas.com.br/api/mega-sena/" + Concurso.ToString());

                dynamic dobj = JsonConvert.DeserializeObject <dynamic>(strPageCode);

                string        Dezena2       = dobj["sorteio"].ToString();
                List <string> Sharp_Dezenas = JsonConvert.DeserializeObject <List <string> >(Dezena2);
                string        NoListDezenas = string.Join(", ", Sharp_Dezenas.ToArray());

                string[] Dezena = NoListDezenas.Split(',');
                return(Dezena);
            }
            catch (Exception exc)
            {
                //Modo Offiline
                message = exc.Message;
                Banco_de_Dados db  = new Banco_de_Dados();
                Concurso       con = new Concurso();
                con = db.Buscar(Concurso);

                return(con.Dezenas);
            }
        }
 //===========================
 // === ATUALIZA GRID VIEW ===
 //===========================
 public void AtualizaGrid()
 {
     try
     {
         Banco_de_Dados db = new Banco_de_Dados();
         dgvConcurso.DataSource = db.Buscar();
         dgvConcurso.DataMember = "Consurso";
     }
     catch (Exception ex)
     {
         throw;
     }
 }
        public void ThreadExporta()
        {
            try
            {
                StreamWriter sw;

                string CaminhoNome = @"C:\Sistema MegaSena\Backup";

                if (Directory.Exists(CaminhoNome) == false)
                {
                    Directory.CreateDirectory(CaminhoNome);
                }
                CaminhoNome += @"\Backup.txt";

                Process process = new Process();
                process.Close();
                sw = File.CreateText(CaminhoNome);

                Banco_de_Dados db        = new Banco_de_Dados();
                Concurso[]     concursos = db.Buscar(0, false);

                for (int i = 0; i < concursos.Length; i++)
                {
                    sw.WriteLine(concursos[i].NumConcurso + " # " + concursos[i].Data + " # " + string.Join("-", concursos[i].Dezenas) + " # " + concursos[i].Acumulado + " # " + concursos[i].Acumulou + " # " + concursos[i].ProximaEstimativa + " $ ");
                }
                sw.Flush();
                sw.Close();
                sw.Dispose();

                Email email = new Email(gmail, CaminhoNome);
                if (email.Enviar())
                {
                    MessageBox.Show("Backup Concluido e Enviado no Email: " + gmail, "Sucesso!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                }
                else
                {
                    MessageBox.Show("Erro ao Enviar para o Email: " + gmail + "\nDescrição: " + Email.msg, "Opss!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Erro ao Enviar para o Email: " + gmail + "\nDescrição: " + ex.Message, "Opss!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
            }
        }
        /// <summary>
        /// Retorna todas as Dezes de todos os Concursos da Mega
        /// </summary>
        /// <param name="GetDezenas"></param>
        /// <returns></returns>
        public static string[] GetDezenas()
        {
            try
            {
                WebClient webClient   = new WebClient();
                string    strPageCode = webClient.DownloadString("https://www.lotodicas.com.br/api/mega-sena");

                dynamic  dobj        = JsonConvert.DeserializeObject <dynamic>(strPageCode);
                int      NumConcurso = Convert.ToInt32(dobj["numero"]);
                string[] Dezenas     = new string[NumConcurso];

                for (int i = 0; i < NumConcurso; i++)
                {
                    string strPageCode1 = webClient.DownloadString("https://www.lotodicas.com.br/api/mega-sena/" + NumConcurso.ToString());

                    dynamic       dobj1         = JsonConvert.DeserializeObject <dynamic>(strPageCode1);
                    string        JsonDezenas   = dobj1["sorteio"].ToString();
                    List <string> Sharp_Dezenas = JsonConvert.DeserializeObject <List <string> >(JsonDezenas);
                    string        NoListDezenas = string.Join(", ", Sharp_Dezenas.ToArray());

                    Dezenas[i] = NoListDezenas;

                    NumConcurso--;
                }

                return(Dezenas);
            }
            catch (Exception exc)
            {
                //Modo OffiLine
                message = exc.Message;
                Banco_de_Dados db        = new Banco_de_Dados();
                Concurso[]     concursos = db.Buscar(0, true);
                string[]       Dezenas   = new string[concursos.Length];

                for (int i = 0; i < Dezenas.Length; i++)
                {
                    string Dez = string.Join(",", concursos[i].Dezenas);
                    Dezenas[i] = Dez;
                }

                return(Dezenas);
            }
        }
        //===============================================
        // === FUNÇÃO QUE LISTA OS DADOS NA GRID VIEW ===
        //===============================================
        public void FuncListaGrid()
        {
            if (int.TryParse(txtQtdJogos.Text, out int QtdJogos) == true)
            {
                Banco_de_Dados db = new Banco_de_Dados();
                dgvJogos.AllowUserToAddRows = true;
                dgvJogos.Rows.Clear();

                Concurso[] concursos = db.Buscar(0, QtdJogos);
                for (int i = 0; i < concursos.Length; i++)
                {
                    dgvJogos.Rows[i].DataGridView.Rows.Add(concursos[i].NumConcurso, string.Join("-", concursos[i].Dezenas));
                }
                dgvJogos.AllowUserToAddRows = false;
            }
            else
            {
                MessageBox.Show("Digite somente números para realizar a ação", "Opss!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
            }
        }
        //===============================================================
        // === FUNÇÃO QUE RETORNA O NÚMERO DOS X CONCURSOS ANTERIORES ===
        //===============================================================
        public static string[] GetConcurso(int QuantidadeJogos)
        {
            try
            {
                WebClient webClient   = new WebClient();
                string    strPageCode = webClient.DownloadString("https://www.lotodicas.com.br/api/mega-sena");

                dynamic  dobj      = JsonConvert.DeserializeObject <dynamic>(strPageCode);
                string[] Concursos = new string[QuantidadeJogos];

                int NumConcurso = Convert.ToInt32(dobj["numero"]);

                for (int i = 0; i < QuantidadeJogos; i++)
                {
                    Concursos[i] = NumConcurso.ToString();
                    NumConcurso--;
                }

                return(Concursos);
            }
            catch (Exception exc)
            {
                //Modo OffiLine
                message = exc.Message;
                Banco_de_Dados db        = new Banco_de_Dados();
                Concurso[]     concursos = db.Buscar(0, QuantidadeJogos);
                string[]       Concursos = new string[concursos.Length];

                for (int i = 0; i < Concursos.Length; i++)
                {
                    string numConcurso = string.Join(",", concursos[i].NumConcurso);
                    Concursos[i] = numConcurso;
                }

                return(Concursos);
            }
        }
예제 #8
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);
            }
        }