Example #1
0
        private ResultadoAcao EnviarDadosFarol(bool ligar)
        {
            ResultadoAcao resultadoEnviaDadosFarol = new ResultadoAcao();

            foreach (var farolFrontal in Sensores.Where(a => a.TipoSensor == TipoSensorEnum.Led).Cast <FarolFrontal>())
            {
                if (ligar)
                {
                    farolFrontal.LigarFarol();
                }
                else
                {
                    farolFrontal.DesligarFarol();
                }

                var codificar = farolFrontal.Codificar();

                var resultadoEnviarDados = Comunicacao.EnviarDados(codificar);
                if (resultadoEnviarDados.Resultado != ResultadoAcaoEnum.Sucesso)
                {
                    resultadoEnviaDadosFarol = resultadoEnviarDados;
                    return(resultadoEnviaDadosFarol);
                }

                resultadoEnviaDadosFarol.Mensagem += codificar + "enviado.\r\n";
            }

            return(resultadoEnviaDadosFarol);
        }
Example #2
0
        /// <summary>
        /// Seta Potencia dos motores para 0 e envia valores da lista de motores <see cref="Motores"/> ao microcontrolador independentemente da forma de comunicação
        /// </summary>
        /// <returns>Resultado da Ação, retorna erro no caso de problemas ao enviar</returns>
        public ResultadoAcao PararMotores()
        {
            var resultado = VerificaMotores();

            if (resultado.Resultado == ResultadoAcaoEnum.Erro)
            {
                return(resultado);
            }

            foreach (var motor in Motores)
            {
                var codificar = motor.Codificar();

                var resultadoEnviarDados = Comunicacao.EnviarDados(codificar);
                if (resultadoEnviarDados.Resultado != ResultadoAcaoEnum.Sucesso)
                {
                    resultado = resultadoEnviarDados;
                    return(resultado);
                }

                resultado.Mensagem += codificar + "enviado.\r\n";
            }

            return(resultado);
        }
Example #3
0
        private void serialPort_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
        {
            var recebido = 0;

            List <int> teste = new List <int>();

            while (serialPort.BytesToRead != 0)
            {
                teste.Add(serialPort.ReadByte());
            }

            //verifica se tem bytes para ler
            if (serialPort.BytesToRead != 0)
            {
                recebido = serialPort.ReadByte();
                //verifica se e reference a balanca sempre primeiro byte igual a 1
                if (recebido == 1)
                {
                    //le o proximo byte
                    recebido = serialPort.ReadByte();
                    // se for verdadeira a condicao significa que e funcao de peso
                    if (recebido == 1)
                    {
                        string[] parametrospeso = new string[5];
                        parametrospeso[0] = serialPort.ReadByte().ToString("X");
                        parametrospeso[1] = serialPort.ReadByte().ToString("X");
                        parametrospeso[2] = serialPort.ReadByte().ToString("X");
                        parametrospeso[3] = serialPort.ReadByte().ToString("X");
                        parametrospeso[4] = serialPort.ReadByte().ToString("X");
                        Comunicacao.calcularPeso(parametrospeso[0], parametrospeso[1], parametrospeso[2], parametrospeso[3], parametrospeso[4]);
                    }
                }
            }
        }
Example #4
0
        private void BtnEnviaMSG_Click(object sender, EventArgs e)
        {
            Comunicacao oCom = new Comunicacao();

            oCom.Codigo = "1";
            oCom.Versao = "1";
            oCom.UserID = "admcomp";
            oCom.Senha  = "TESTE";
            oCom.URLWS  = "http://RES700850/WSTESTE/WS.xxx";
            var retorno = INB.Assinador.Integracao.Service.Cliente.EnviaDados(oCom, "127.0.0.1", 27525);

            MessageBox.Show(retorno);
        }
        public frmTestarComandos()
        {
            InitializeComponent();

            //simula get do peso
            string p1 = "0", p2 = "BD", p3 = "2", sinal = "0";
            string multiplicador = "3";

            Comunicacao.calcularPeso(p1, p2, p3, multiplicador, sinal);
            var teste = Comunicacao.peso;



            timerCOM.Enabled = true;
        }
Example #6
0
        public static void setFile(Comunicacao oCom, byte[] Arquivo)
        {
            BasicHttpBinding binding = new BasicHttpBinding();

            binding.MaxReceivedMessageSize = 2147483647;
            binding.MaxBufferSize          = 2147483647;
            binding.MaxBufferPoolSize      = 2147483647;
            EndpointAddress epAddr        = new EndpointAddress(oCom.URLWS);
            var             channelHelper = ChannelFactory <IRequestChannelFile> .CreateChannel(binding, epAddr);

            var clientProxy = (System.ServiceModel.Channels.IRequestChannel)channelHelper;

            clientProxy.Open();
            var oService = (IWS)channelHelper;

            oService.EnviarArquivo(Arquivo, oCom.Codigo, oCom.Versao, oCom.UsuarioAutenticado, oCom.HashArquivoOriginal);
            clientProxy.Close();
            return;
        }
Example #7
0
        public static byte[] getFile(Comunicacao oCom)
        {
            BasicHttpBinding binding = new BasicHttpBinding();

            binding.MaxReceivedMessageSize = 2147483647;
            binding.MaxBufferSize          = 2147483647;
            binding.MaxBufferPoolSize      = 2147483647;
            EndpointAddress epAddr        = new EndpointAddress(oCom.URLWS);
            var             channelHelper = ChannelFactory <IRequestChannelFile> .CreateChannel(binding, epAddr);

            var clientProxy = (System.ServiceModel.Channels.IRequestChannel)channelHelper;

            clientProxy.Open();
            var oService = (IWS)channelHelper;

            byte[] file = oService.ReceberArquivo(oCom.Codigo, oCom.Versao);
            clientProxy.Close();
            return(file);
        }
        private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
        {
            var recebido = 0;

            //verifica se tem bytes para ler
            if (serialPort.BytesToRead != 0)
            {
                recebido = serialPort.ReadByte();
                //verifica se e reference a balanca sempre primeiro byte igual a 1
                if (recebido == 1)
                {
                    //le o proximo byte
                    recebido = serialPort.ReadByte();
                    // se for verdadeira a condicao significa que e funcao de peso
                    if (recebido == 1)
                    {
                        string[] parametrospeso = new string[5];
                        parametrospeso[0] = serialPort.ReadByte().ToString("X");
                        parametrospeso[1] = serialPort.ReadByte().ToString();
                        parametrospeso[2] = serialPort.ReadByte().ToString();
                        parametrospeso[3] = serialPort.ReadByte().ToString();
                        parametrospeso[4] = serialPort.ReadByte().ToString();
                        Comunicacao.calcularPeso(parametrospeso[0], parametrospeso[1], parametrospeso[2], parametrospeso[3], parametrospeso[4]);
                    }
                }
            }


            /*var verificador = 0;
             * var completo = "";
             * while (serialPort.BytesToRead != 0)
             * {
             *  recebido = serialPort.ReadByte();
             *
             *  completo += recebido;
             *  verificador = recebido;
             *  RxString = recebido.ToString("X");
             *  this.Invoke(new EventHandler(trataDadoRecebido));
             * }*/
        }
        private void timer1_Tick(object sender, EventArgs e)
        {
            eTipoMensagem TipoMensagem;

            bool RecebeuMensagem = false;

            timer1.Enabled = false;


            string Mensagem = "";


            //MENSAGEM VIA WEBSOCKET
            if (oWS.MensagemNova)
            {
                Mensagem         = oWS.Mensagem;
                oWS.MensagemNova = false;
                oWS.Mensagem     = "";
                TipoMensagem     = eTipoMensagem.WebSocket;
                RecebeuMensagem  = true;
            }

            //MENSAGEM VIA SOCKET
            if (INB.Assinador.Integracao.Service.SocketWS.MensagemNova)
            {
                Mensagem = INB.Assinador.Integracao.Service.SocketWS.Mensagem;
                INB.Assinador.Integracao.Service.SocketWS.MensagemNova = false;
                INB.Assinador.Integracao.Service.SocketWS.Mensagem     = "";
                TipoMensagem    = eTipoMensagem.WebSocket;
                RecebeuMensagem = true;
            }

            if (RecebeuMensagem)
            {
                Comunicacao oCom = null;

                //CONVERTE O TEXTO RECEBIDO EM OBJETO
                try
                {
                    if (Ignorar(Mensagem))
                    {
                        timer1.Enabled = true;
                        return;
                    }
                    else
                    {
                        this.Visible = true;
                        this.Focus();
                        this.WindowState = FormWindowState.Normal;
                        this.BringToFront();
                        oCom = (Comunicacao)ConverterObjeto.RetornaObjeto(Mensagem);
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Um erro ocorreu ao converter o objeto para o tipo Comunicacao. O processo precisa ser repetido e se o erro persistir, notifique o Help-Desk | Mensagem REcebida: " + Mensagem + " | Erro: " + ex.Message, ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
                    timer1.Enabled = true;
                    return;
                }

                if (CboCertificados.Items.Count == 0 || CboCertificados.SelectedIndex == -1)
                {
                    MessageBox.Show("Para a integração funcionar é necessário ter um certificado válido selecionado. Insira e selecione o certificado e repita o processo.", ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
                    timer1.Enabled = true;
                    CboCertificados.Focus();
                    return;
                }


                try
                {
                    byte[] Arquivo;
                    try
                    {
                        Arquivo = Service.WSFile.getFile(oCom);
                        try
                        {
                            MemoryStream ArquivoMS;
                            if (ChkSalvaArquivo.Checked)
                            {
                                ArquivoMS = new MemoryStream(Arquivo);
                                string path = System.AppDomain.CurrentDomain.BaseDirectory + "Temp\\";
                                string pathArquivoRecebido = path + oCom.Codigo.ToString() + "_" + oCom.Versao.ToString() + ".pdf";
                                using (FileStream fs = new FileStream(pathArquivoRecebido, FileMode.OpenOrCreate))
                                {
                                    ArquivoMS.CopyTo(fs);
                                    fs.Flush();
                                }
                                ArquivoMS.Close();
                                string FileNameAssinado;

                                if (AssinarArquivo(pathArquivoRecebido, out FileNameAssinado, true))
                                {
                                    byte[] ArquivoAssinado = INB.Assinador.Helper.FileHelper.ReadFile(FileNameAssinado);
                                    try
                                    {
                                        Service.WSFile.setFile(oCom, ArquivoAssinado);
                                        MessageBox.Show("Arquivo assinado com sucesso.", ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information);
                                    }
                                    catch (Exception ex)
                                    {
                                        MessageBox.Show("Ocorreu um erro na assinatura e o processo inteiro precisa ser refeito. Erro: " + ex.Message, ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
                                    }
                                }
                                try
                                {
                                    System.IO.File.Delete(FileNameAssinado);
                                    System.IO.File.Delete(pathArquivoRecebido);
                                }
                                catch (Exception ex) { }
                            }
                            else
                            {
                                byte[] ArquivoAssinado;
                                if (AssinarArquivo(Arquivo, out ArquivoAssinado, true))
                                {
                                    try
                                    {
                                        Service.WSFile.setFile(oCom, ArquivoAssinado);
                                        MessageBox.Show("Arquivo assinado com sucesso.", ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information);
                                    }
                                    catch (Exception ex)
                                    {
                                        MessageBox.Show("Ocorreu um erro na assinatura e o processo inteiro precisa ser refeito. Erro: " + ex.Message, ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
                                    }
                                }
                                else
                                {
                                    MessageBox.Show("Um problema ocorreu no envio do arquivo assinado para o servidor. Assinatura não realizada. Repita todo o processo, por favor.", ProductName, MessageBoxButtons.OK);
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show("Ocorreu um erro no Sistema. Erro:" + ex.Message + ".", ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show("Ocorreu um erro ao acessar o WebService de leitura de arquivo do Sistema. Erro:" + ex.Message + ".", ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Um erro ocorreu ao tentar buscar o arquivo no Servidor.Erro: " + ex.Message + ".", ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            timer1.Enabled = true;
        }
Example #10
0
        private void buttonFazConeccao_Click(object sender, System.EventArgs e)
        {
            //Modo de jogo clássico
            if(this.radioButtonModo1.Checked)
            {
                tabuleiro = new Tabuleiro();
                tabScore = new TabuleiroScore();

                if(this.radioButtonServer.Checked)
                {
                    if(this.comboBox1.SelectedIndex != -1)
                    {
                        codigo = new CodigoCores(70,56,Color.Black);
                        painel = new PainelCores(0,140);
                        this.panelConeccao.Visible = false;
                        this.panelEscolhaCor.Visible = true;
                        nJogos = Convert.ToInt32(this.comboBox1.SelectedItem.ToString())-1;
                        nJogosInicial = nJogos + 1;
                        pontuacoes = new int[16];
                        comClassica = new ComunicacaoClassica();
                        comClassica.servidorClassico();
                        comClassica.enviarNJogos(nJogos);
                    }
                    else MessageBox.Show("Escolha o número de jogos");

                }
                else if(this.radioButtonClient.Checked)
                {
                    painel = new PainelCores(0,252);
                    codigo = new CodigoCores(30,9,Color.Black);
                    pontuacoes = new int[16];
                    this.panelConeccao.Visible = false;
                    this.panelDecifrador.Visible = true;
                    this.panelDecifradorCodigoCor.Visible = true;
                    comClassica = new ComunicacaoClassica();
                    comClassica.clienteClassico(this.textBoxEndIp.Text,8758);
                    while(!comClassica.getJogosRecebidos()){}
                    nJogos = comClassica.getNJogos();
                    nJogosInicial = nJogos + 1;
                }
                else
                {
                    MessageBox.Show("Campos por preencher");
                }

            }
            //Modo de jogo simultâneo
            else if(this.radioButtonModo2.Checked)
            {
                this.panelConeccao.Visible = false;
                this.panelEscolhaCor.Visible = true;
                painel = new PainelCores(0,140);
                codigo = new CodigoCores(70,56,Color.Black);

                if(this.radioButtonServer.Checked)
                {
                    com = new Comunicacao();
                    com.servidorSimultaneo();
                }
                else if(this.radioButtonClient.Checked)
                {
                    com = new Comunicacao();
                    com.clienteSimultaneo(this.textBoxEndIp.Text,8758);
                }
                else {

                    MessageBox.Show("Campos por preencher");
                }

            }
            else MessageBox.Show("Preencha os campos necessários");
        }