Exemplo n.º 1
0
        private void lerXMLConfiguraçãoDeInterfaceDeRedeToolStripMenuItem_Click(object sender, EventArgs e)
        {
            logger.Info("Carregar XML Rede.");
            var file = Helpers.OpenFiles(@"Xml Rede | *.xml");

            if (file.IsEmpty())
            {
                logger.Info("Carregar XML Rede Cancelado.");
                return;
            }

            redeAtual = SatRede.Load(file);
            wbrXmlRede.LoadXml(redeAtual.GetXml());
            tbcXml.SelectedTab = tpgRede;
            logger.Info("XML Rede carregado com sucesso.");
        }
        public StatusOperacionalResponse(string retorno, Encoding encoding) : base(retorno, encoding)
        {
            ConfigRede = new SatRede();
            Status     = new SatStatus();

            if (CodigoDeRetorno != 10000)
            {
                return;
            }

            ConfigRede.TipoLan = RetornoLst[6] switch
            {
                "PPPoE" => TipoLan.PPPoE,
                "IPFIX" => TipoLan.IPFIX,
                _ => TipoLan.DHCP
            };

            ConfigRede.LanIp      = RetornoLst[7];
            ConfigRede.LanMask    = RetornoLst[9];
            ConfigRede.LanGateway = RetornoLst[10];
            ConfigRede.LanDNS1    = RetornoLst[11];
            ConfigRede.LanDNS2    = RetornoLst[12];

            Status.NSerie    = RetornoLst[5];
            Status.LanMac    = RetornoLst[8];
            Status.StatusLan = RetornoLst[13] switch
            {
                "NAO_CONECTADO" => StatusLan.NaoConectado,
                _ => StatusLan.Conectado,
            };
            Status.NivelBateria = RetornoLst[14] switch
            {
                "ALTO" => NivelBateria.Alto,
                "MEDIO" => NivelBateria.Medio,
                _ => NivelBateria.Baixo,
            };
            Status.MTTotal      = RetornoLst[15];
            Status.MTUsada      = RetornoLst[16];
            Status.DhAtual      = ValidarDateTime(RetornoLst[17], "yyyyMMddHHmmss");
            Status.VerSb        = RetornoLst[18];
            Status.VerLayout    = RetornoLst[19];
            Status.UltimoCFe    = RetornoLst[20];
            Status.ListaInicial = RetornoLst[21];

            var i = 22;

            //Workaround para leitura de Status do Emulador do Fisco, que não retorna o campo: LISTA_FINAL
            if (RetornoLst.Count > 27)
            {
                Status.ListaFinal = RetornoLst[i];
                i++;
            }

            Status.DhCFe = ValidarDateTime(RetornoLst[i], "yyyyMMddHHmmss");
            i++;
            Status.DhUltima = ValidarDateTime(RetornoLst[i], "yyyyMMddHHmmss");
            i++;
            Status.CertEmissao = ValidarDateTime(RetornoLst[i], "yyyyMMdd");
            i++;
            Status.CertVencimento = ValidarDateTime(RetornoLst[i], "yyyyMMdd");
            i++;
            var retStr = RetornoLst[i];

            if (retStr.IsNumeric())
            {
                Status.EstadoOperacao = (EstadoOperacao)retStr.ToInt32();
            }
            else
            {
                Status.EstadoOperacao = retStr switch
                {
                    "BLOQUEIO_SEFAZ" => EstadoOperacao.BloqueioSEFAZ,
                    "BLOQUEIO_CONTRIBUINTE" => EstadoOperacao.BloqueioContribuinte,
                    "BLOQUEIO_AUTONOMO" => EstadoOperacao.BloqueioAutonomo,
                    "BLOQUEIO_DESATIVACAO" => EstadoOperacao.BloqueioDesativacao,
                    _ => EstadoOperacao.Desbloqueado
                }
            };
        }