public static bool DefinirIndices(string pIp, int pPort, short pIndice) { byte[] retorno = null; Funcao objFuncao = new Funcao(); retorno = Conexao.Enviar(pIp, pPort, objFuncao.LerValidarIndice(pIndice)); if (!objFuncao.VerificaCodFuncaoRetorno(retorno)) Conexao.Enviar(pIp, pPort, objFuncao.FrameDeErro()); //ValidaCheckSum if (!objFuncao.ValidarCheckSumRetorno(retorno)) //Se um lado receber um frame com o checksum errado, ele deve enviar um frame de Erro Conexao.Enviar(pIp, pPort, objFuncao.FrameDeErro()); //Verifica Frame de Erro if (objFuncao.VerificaFrameDeErro(retorno)) // Se um lado receber um frame de Erro, ele deve reenviar o último frame enviado retorno = Conexao.Enviar(pIp, pPort, objFuncao.LerNumeroSerie()); //Verifica Tamanho do Frame if (!objFuncao.ValidarTamanhoMensagemRetorno(retorno)) // Se um lado receber um frame com dados com tamanho inesperado ou com formato inválido, ele deve enviar um frame de erro Conexao.Enviar(pIp, pPort, objFuncao.FrameDeErro()); if (!objFuncao.VerificaSucesso(retorno)) return false; if (!objFuncao.ValidarRetornoRegistroPorIndices(retorno)) return false; return true; }
public static DateTime? ObterDataHora(string pIp, int pPort) { byte[] retorno = null; Funcao objFuncao = new Funcao(); retorno = Conexao.Enviar(pIp, pPort, objFuncao.LerRegistroDataHora()); if (!objFuncao.VerificaCodFuncaoRetorno(retorno)) Conexao.Enviar(pIp, pPort, objFuncao.FrameDeErro()); //ValidaCheckSum if (!objFuncao.ValidarCheckSumRetorno(retorno)) //Se um lado receber um frame com o checksum errado, ele deve enviar um frame de Erro Conexao.Enviar(pIp, pPort, objFuncao.FrameDeErro()); //Verifica Frame de Erro if (objFuncao.VerificaFrameDeErro(retorno)) // Se um lado receber um frame de Erro, ele deve reenviar o último frame enviado retorno = Conexao.Enviar(pIp, pPort, objFuncao.LerNumeroSerie()); //Verifica Tamanho do Frame if (!objFuncao.ValidarTamanhoMensagemRetorno(retorno)) // Se um lado receber um frame com dados com tamanho inesperado ou com formato inválido, ele deve enviar um frame de erro Conexao.Enviar(pIp, pPort, objFuncao.FrameDeErro()); return objFuncao.ObterRetornoDataHora(retorno); }