예제 #1
0
        /// <summary>
        /// Transformação da imagem em byte array.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btn_encriptar_imagem_Click(object sender, EventArgs e)
        {
            // Se a imagem não for selecionada, uma MessageBox surge
            if (imagem_em_pixels.Image == null)
            {
                var retornos = msg.Retorno_Erro_Processo(cumi.Check_Idioma_Internacional(), 15, 2);
                MessageBox.Show(retornos.Item1, retornos.Item2, MessageBoxButtons.OK, MessageBoxIcon.Warning);

                if (cumi.Check_Status() == true)
                {
                    try
                    {
                        cumi.Pensar_Fala(2, 15);
                    }

                    catch
                    {
                        cumi.Pensar_Fala(2, 16);
                        var retornos1 = msg.Retorno_Erro_Processo(cumi.Check_Idioma_Internacional(), 16, 3);
                        MessageBox.Show(retornos1.Item1, retornos1.Item2, MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }
            // Caso contrário, a imagem é transformada em byte array e exibida em formato de string na richTextBox
            else
            {
                byte[] bytes = imagem.Imagem_Para_Byte_Array(imagem_em_pixels.Image);
                imagem_em_bytes.Text = imagem.Byte_Array_Para_String(bytes);
            }
        }
예제 #2
0
        /// <summary>
        /// Retorno à tela inicial.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btn_voltar_2_Click(object sender, EventArgs e)
        {
            this.Hide();

            Inicio inicio = new Inicio(cumi.Check_Status(), cumi.Check_Idioma_Internacional(), cumi.Check_Som());

            inicio.Show();
        }
예제 #3
0
        /// <summary>
        /// Transformação da permissão de false para verdadeira e exibição das imagens transformadas em bytes hexadeimais.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btn_descriptar_relatorio_Click(object sender, EventArgs e)
        {
            // Caso a chave privada não tenha sido informada, o usuário é alertado.
            if (chave_privada_imagem.Text.Equals(""))
            {
                var retornos = msg.Retorno_Erro_Processo(cumi.Check_Idioma_Internacional(), 12, 1);
                MessageBox.Show(retornos.Item1, retornos.Item2, MessageBoxButtons.OK, MessageBoxIcon.Asterisk);

                if (cumi.Check_Status() == true)
                {
                    try
                    {
                        cumi.Pensar_Fala(2, 12);
                    }

                    catch
                    {
                        cumi.Pensar_Fala(2, 16);
                        var retornos1 = msg.Retorno_Erro_Processo(cumi.Check_Idioma_Internacional(), 16, 3);
                        MessageBox.Show(retornos1.Item1, retornos1.Item2, MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }

            // Se a chave-privada for informada, as informações são exibidas na label e o usuário recebe permissão para visualizar as imagens que o software enviou nas lables.
            else
            {
                permissao = true;
                flowLayoutPanel1.AutoScroll = true;
                flowLayoutPanel2.AutoScroll = true;

                // Chave-privada errada.
                if (!(chave_privada_imagem.Text.Equals(Convert.ToString((int)Chaves_Padronizadas.PRIVADA))))
                {
                    imagem1_encriptada.Text      = Informacoes_Confidenciais.imagem3;
                    imagem1_encriptada.BackColor = Color.LightSkyBlue;
                    imagem2_encriptada.Text      = Informacoes_Confidenciais.imagem3;
                    imagem2_encriptada.BackColor = Color.LightSkyBlue;
                    legenda_imagem1 = "";
                    legenda_imagem2 = "";
                }

                // Chave-privada correta.
                else
                {
                    imagem1_encriptada.Text      = Informacoes_Confidenciais.imagem1;
                    imagem1_encriptada.BackColor = Color.LightSkyBlue;
                    imagem2_encriptada.Text      = Informacoes_Confidenciais.imagem2;
                    imagem2_encriptada.BackColor = Color.LightSkyBlue;
                    legenda_imagem1 = Informacoes_Confidenciais.legenda_imagem1;
                    legenda_imagem2 = Informacoes_Confidenciais.legenda_imagem2;
                }
                chave_privada_imagem.Text = "";
            }
        }
예제 #4
0
        /// <summary>
        /// Contagem do timer, incrementação da progressbar e exibição da tela inicial.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void timer1_Tick(object sender, EventArgs e)
        {
            // Carregamento em andamento e incrementação da progressbar em andamento.
            if (progressBar1.Value < 100)
            {
                progressBar1.Value += 2;
                label2.Text         = progressBar1.Value + "%";
            }

            // Carregamento completo e exibição da tela inicial.
            else
            {
                timer1.Enabled = false;
                this.Hide();

                // Instanciação da tela inicial
                Inicio inicio = new Inicio(cumi.Check_Status(), cumi.Check_Idioma_Internacional(), cumi.Check_Som());
                inicio.Show();

                if (cumi.Check_Status() == true)
                {
                    try
                    {
                        cumi.Pensar_Fala(0, 1);
                    }
                    catch
                    {
                        string alerta = "";
                        cumi.Pensar_Fala(2, 16);

                        if (cumi.Check_Idioma_Internacional() == true)
                        {
                            alerta = "A serious error was found. Please, Notice the programmer.";
                        }
                        else
                        {
                            alerta = "Um erro grave foi encontrado. Por favor, avise ao programador.";
                        }

                        MessageBox.Show(alerta);
                    }
                }
            }
        }
예제 #5
0
        /// <summary>
        /// Fechamento da tela inicial exibição da de relatório.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void RELATORIO_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            this.Hide();

            // Instanciação da janela de relatório
            Relatorio relatorio = new Relatorio(cumi.Check_Status(), cumi.Check_Idioma_Internacional(), cumi.Check_Som());

            relatorio.Show();
        }
예제 #6
0
        private void button1_Click(object sender, EventArgs e)
        {
            string comando = comandotxt.Text;

            comandotxt.Text = "";

            if (cumi.Check_Status() == true)
            {
                // A CUMI tenta processar o comando enviado a ela.
                // Caso ela mão o reconhecer, cairá no bloco catch deste try
                try
                {
                    if (comando.Equals(""))
                    {
                        try
                        {
                            cumi.Pensar_Fala(2, 0);
                            var retornos = msg.Retorno_Erro_Processo(cumi.Check_Idioma_Internacional(), 0, 0);
                            MessageBox.Show(retornos.Item1, retornos.Item2, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        }

                        catch
                        {
                            cumi.Pensar_Fala(2, 16);
                            var retornos1 = msg.Retorno_Erro_Processo(cumi.Check_Idioma_Internacional(), 16, 3);
                            MessageBox.Show(retornos1.Item1, retornos1.Item2, MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                    }
                    else
                    {
                        try
                        {
                            cumi.Pensar_Diretorio(comando);
                        }

                        catch
                        {
                            cumi.Pensar_Fala(2, 16);
                            var retornos1 = msg.Retorno_Erro_Processo(cumi.Check_Idioma_Internacional(), 16, 3);
                            MessageBox.Show(retornos1.Item1, retornos1.Item2, MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                    }
                }

                // Comando não reconhecido
                catch
                {
                    try
                    {
                        cumi.Pensar_Fala(2, 1);
                    }

                    catch
                    {
                        cumi.Pensar_Fala(2, 16);
                        var retornos1 = msg.Retorno_Erro_Processo(cumi.Check_Idioma_Internacional(), 16, 3);
                        MessageBox.Show(retornos1.Item1, retornos1.Item2, MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }

                    /* Essa MessageBox está com problemas de exibição */
                    var retornos = msg.Retorno_Erro_Processo(cumi.Check_Idioma_Internacional(), 1, 0);
                    MessageBox.Show(retornos.Item1, retornos.Item2, MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }

            // CUMI dormindo: o único comando que obedecerá será o de acordar.
            else
            {
                bool comando_acordar = false;

                // Check em Inglês
                if (cumi.Check_Idioma_Internacional() == true)
                {
                    if (comando.Equals("wake"))
                    {
                        comando_acordar = true;
                    }
                }
                // Check em Português
                else
                {
                    if (comando.Equals("acorde"))
                    {
                        comando_acordar = true;
                    }
                }

                if (comando_acordar == true)
                {
                    try
                    {
                        cumi.Pensar_Diretorio(comando);
                    }
                    catch
                    {
                        cumi.Pensar_Fala(2, 16);
                        var retornos1 = msg.Retorno_Erro_Processo(cumi.Check_Idioma_Internacional(), 16, 3);
                        MessageBox.Show(retornos1.Item1, retornos1.Item2, MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
            }
        }
예제 #7
0
        /*
         * PARA MAIOR SEGURANÇA, A VERIFICAÇÃO DE LOGIN E SENHA CORRETOS É REALIZADA COM AMBOS ENCRIPTADOS
         * PORTANTO, PARA SABER QUAL O LOGIN E SENHA REAIS, VERIFIQUE A PASTA "ARQUIVOS txt"
         */

        /// <summary>
        /// Verifico se o login e a senha foram preenchidos corretamente.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Entrar_btn_Click_1(object sender, EventArgs e)
        {
            // Caso algum campo esteja vazio, uma message box é exibida
            if (Login_txt.Text.Equals("") || Senha_txt.Text.Equals("") || Cumi_status.Text.Equals(""))
            {
                // Se ambos estiverem vazios
                if (Login_txt.Text.Equals("") && Senha_txt.Text.Equals("") && Cumi_status.Text.Equals(""))
                {
                    var retornos = msg.Retorno_Erro_Login(0, 0);
                    MessageBox.Show(retornos.Item1, retornos.Item2, MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                }

                // Se nem todos estiverem vazios
                else if (Login_txt.Text.Equals("") || Senha_txt.Text.Equals("") || Cumi_status.Text.Equals(""))
                {
                    var retornos = msg.Retorno_Erro_Login(1, 0);
                    MessageBox.Show(retornos.Item1, retornos.Item2, MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                }
            }

            // Caso o login e a senha não sejam nulos
            else
            {
                // Variáveis locais
                string login = Login_txt.Text;
                string senha = Senha_txt.Text;
                string login_encriptado;
                string senha_encriptada;
                string status;

                // Instanciação da classe XOR
                RSA_Processo criptacao_login = new RSA_Processo();
                RSA_Processo criptacao_senha = new RSA_Processo();

                // Encriptação da senha e do login
                login_encriptado = criptacao_login.Encriptacao(Login_txt.Text, false, (int)Chaves_Padronizadas.PUBLICA, (int)Chaves_Padronizadas.MISTA);
                senha_encriptada = criptacao_senha.Encriptacao(Senha_txt.Text, false, (int)Chaves_Padronizadas.PUBLICA, (int)Chaves_Padronizadas.MISTA);
                status           = Cumi_status.Text;

                // Check se o login e a senha estão corretos
                // Se login ou senha não estiverem corretos, uma MessageBox é exibida
                if (!(login_encriptado.Equals(Informacoes_Confidenciais.login)) || !(senha_encriptada.Equals(Informacoes_Confidenciais.senha)) || !(status.Equals("ON - EN") || status.Equals("ON - PT") || status.Equals("OFF - EN") || status.Equals("OFF - PT")))
                {
                    // Caso o login estiver inválido
                    if (!(login_encriptado.Equals(Informacoes_Confidenciais.login)))
                    {
                        var retornos = msg.Retorno_Erro_Login(2, 0);
                        MessageBox.Show(retornos.Item1, retornos.Item2, MessageBoxButtons.OK, MessageBoxIcon.Asterisk);

                        Login_txt.Text   = "";
                        Senha_txt.Text   = "";
                        Cumi_status.Text = "";
                    }

                    // Caso o login estiver correto, mas a senha, incorreta
                    else if (!(senha_encriptada.Equals(Informacoes_Confidenciais.senha)))
                    {
                        var retornos = msg.Retorno_Erro_Login(3, 0);
                        MessageBox.Show(retornos.Item1, retornos.Item2, MessageBoxButtons.OK, MessageBoxIcon.Asterisk);

                        Senha_txt.Text = "";
                    }

                    // Caso o login e a senha estiverem corretos, mas o status da Cumi não
                    else if (!(status.Equals("ON - EN") || status.Equals("ON - PT") || status.Equals("OFF - EN") || status.Equals("OFF - PT")))
                    {
                        var retornos = msg.Retorno_Erro_Login(4, 0);
                        MessageBox.Show(retornos.Item1, retornos.Item2, MessageBoxButtons.OK, MessageBoxIcon.Asterisk);

                        Cumi_status.Text = "";
                    }
                }

                // Se o login e a senha estiverem corretos, a tela inicial é carregada
                if ((login_encriptado.Equals(Informacoes_Confidenciais.login)) && (senha_encriptada.Equals(Informacoes_Confidenciais.senha)) && (status.Equals("ON - EN") || status.Equals("ON - PT") || status.Equals("OFF - EN") || status.Equals("OFF - PT")))
                {
                    Login_txt.Text = "";
                    Senha_txt.Text = "";

                    this.Hide();

                    // Processamento de instanciação da janela de carregamento
                    bool status_cumi, idioma_internacional, cumi_som;

                    // Envio de CUMI desativada
                    if (status.Equals("OFF - EN") || status.Equals("OFF - PT"))
                    {
                        status_cumi = false;
                        cumi_som    = true;

                        // Desativação em Inglês
                        if (status.Equals("OFF - EN"))
                        {
                            idioma_internacional = true;
                        }
                        // Desativação em Português
                        else
                        {
                            idioma_internacional = false;
                        }
                    }

                    // Envio de CUMI ativada
                    else
                    {
                        status_cumi = true;
                        cumi_som    = true;

                        // Ativação em Inglês
                        if (status.Equals("ON - EN"))
                        {
                            idioma_internacional = true;
                        }
                        // Ativação em Português
                        else
                        {
                            idioma_internacional = false;
                        }
                    }

                    // Instanciação da CUMI e da tela de carregamento
                    CUMI       cumi     = new CUMI(status_cumi, idioma_internacional, cumi_som);
                    Carregando carregar = new Carregando(cumi.Check_Status(), cumi.Check_Idioma_Internacional(), cumi.Check_Som());

                    if (cumi.Check_Status() == true)
                    {
                        try
                        {
                            cumi.Pensar_Fala(0, 0);
                        }
                        catch
                        {
                            string alerta = "";
                            cumi.Pensar_Fala(2, 16);

                            if (cumi.Check_Idioma_Internacional() == true)
                            {
                                alerta = "A serious error was found. Please, Notice the programmer.";
                            }
                            else
                            {
                                alerta = "Um erro grave foi encontrado. Por favor, avise ao programador.";
                            }

                            MessageBox.Show(alerta);
                        }
                    }

                    carregar.Show();
                }
            }
        }