Ejemplo n.º 1
0
        public static TRetDownloadNFe DownloadNFe(TDownloadNFe downloadNFe, TCodUfIBGE CodUF, X509Certificate2 cert)
        {
            XmlNode         xmlNodeRetorno     = null;
            TRetDownloadNFe retornoDownloadNFe = null;

            C_WebService.ListaUrl listaURL = WsUrls.BuscaURL(CodUF, downloadNFe.tpAmb);

            //CABEÇALHO
            DownloadNF.nfeCabecMsg cab = new DownloadNF.nfeCabecMsg();
            cab.cUF         = PegarCodigoUF(CodUF);                            //UF DO CABEÇALHO
            cab.versaoDados = Funcoes.ConvertEnumToString(downloadNFe.versao); //VERSÃO DO CABEÇALHO

            //CRIA UMA INSTANCIA DA CONEXÃO COM O WEBSERVICE
            DownloadNF.NfeDownloadNF wsMsg = new DownloadNF.NfeDownloadNF(listaURL.UrlNfeDownloadNF);
            wsMsg.nfeCabecMsgValue = cab;                   //ASSOCIA CABEÇALHO NFE
            wsMsg.Timeout          = 100000;                //DEFINE TEMPO MAXIMO DE ESPERA POR RETORNO
            wsMsg.ClientCertificates.Add(cert);             //ASSOCIA CERTIFICADO A CONEXAO WEBSERVICE
            wsMsg.SoapVersion = SoapProtocolVersion.Soap12; //DEFINE PROTOCOLO USADO NA CONEXÃO

            XmlDocument dados = new XmlDocument();

            dados.LoadXml(Funcoes.RemoveNameSpaceFromXml(downloadNFe.Serialize()));

            //ENVIA REQUISIÇÂO PARA SEFAZ E OBTEM RETORNO
            xmlNodeRetorno     = wsMsg.nfeDownloadNF(dados);
            retornoDownloadNFe = TRetDownloadNFe.Deserialize(xmlNodeRetorno.OuterXml);

            return(retornoDownloadNFe);
        }
        public static TCOrgaoIBGE ToCOrgaoIBGE(this TCodUfIBGE CodUfIBGE)
        {
            FieldInfo sourceField = CodUfIBGE.GetType().GetField(CodUfIBGE.ToString());

            XmlEnumAttribute[] attributes  = (XmlEnumAttribute[])sourceField.GetCustomAttributes(typeof(XmlEnumAttribute), false);
            FieldInfo          resultField = null;

            if (attributes != null && attributes.Length > 0)
            {
                Type enumTypeResult = typeof(TCOrgaoIBGE);

                foreach (FieldInfo item in enumTypeResult.GetFields())
                {
                    bool find = false;
                    foreach (XmlEnumAttribute att in item.GetCustomAttributes(typeof(XmlEnumAttribute), false))
                    {
                        if (att.Name == attributes[0].Name)
                        {
                            resultField = item;
                            find        = true;
                            break;
                        }
                    }
                    if (find)
                    {
                        break;
                    }
                }
            }
            else
            {
                throw new Exception("Tipo de dados não contém XmlEnumAttribute");
            }

            if (resultField == null)
            {
                return(TCOrgaoIBGE.Item90);
            }
            else
            {
                return((TCOrgaoIBGE)resultField.GetValue(resultField));
            }
        }
Ejemplo n.º 3
0
        private TCOrgaoIBGE PegarCodigoOrgaoUF(TCodUfIBGE codUfIBGE)
        {
            switch (codUfIBGE)
            {
            case TCodUfIBGE.RioDeJaneiro: return(TCOrgaoIBGE.RioDeJaneiro);

            case TCodUfIBGE.SaoPaulo: return(TCOrgaoIBGE.SaoPaulo);

            case TCodUfIBGE.Acre: return(TCOrgaoIBGE.Acre);

            case TCodUfIBGE.Alagoas: return(TCOrgaoIBGE.Alagoas);

            case TCodUfIBGE.Amazonas: return(TCOrgaoIBGE.Amazonas);

            case TCodUfIBGE.Amapa: return(TCOrgaoIBGE.Amapa);

            case TCodUfIBGE.Bahia: return(TCOrgaoIBGE.Bahia);

            case TCodUfIBGE.Ceara: return(TCOrgaoIBGE.Ceara);

            case TCodUfIBGE.DistritoFederal: return(TCOrgaoIBGE.DistritoFederal);

            case TCodUfIBGE.EspiritoSanto: return(TCOrgaoIBGE.EspiritoSanto);

            case TCodUfIBGE.Goias: return(TCOrgaoIBGE.Goias);

            case TCodUfIBGE.Maranhao: return(TCOrgaoIBGE.Maranhao);

            case TCodUfIBGE.MinasGerais: return(TCOrgaoIBGE.MinasGerais);

            case TCodUfIBGE.MatoGrossoDoSul: return(TCOrgaoIBGE.MatoGrossoDoSul);

            case TCodUfIBGE.MatoGrosso: return(TCOrgaoIBGE.MatoGrosso);

            case TCodUfIBGE.Para: return(TCOrgaoIBGE.Para);

            case TCodUfIBGE.Paraiba: return(TCOrgaoIBGE.Paraiba);

            case TCodUfIBGE.Pernambuco: return(TCOrgaoIBGE.Pernambuco);

            case TCodUfIBGE.Piaui: return(TCOrgaoIBGE.Piaui);

            case TCodUfIBGE.Parana: return(TCOrgaoIBGE.Parana);

            case TCodUfIBGE.RioGrandeDoNorte: return(TCOrgaoIBGE.RioGrandeDoNorte);

            case TCodUfIBGE.Rondonia: return(TCOrgaoIBGE.Rondonia);

            case TCodUfIBGE.Roraima: return(TCOrgaoIBGE.Roraima);

            case TCodUfIBGE.RioGrandeDoSul: return(TCOrgaoIBGE.RioGrandeDoSul);

            case TCodUfIBGE.SantaCatarina: return(TCOrgaoIBGE.SantaCatarina);

            case TCodUfIBGE.Sergipe: return(TCOrgaoIBGE.Sergipe);

            case TCodUfIBGE.Tocantis: return(TCOrgaoIBGE.Tocantins);

            default: return(TCOrgaoIBGE.Exterior);
            }
        }
Ejemplo n.º 4
0
        private static string PegarCodigoUF(TCodUfIBGE CodUfIBGE)
        {
            switch (CodUfIBGE)
            {
            case TCodUfIBGE.RioDeJaneiro: return("33");

            case TCodUfIBGE.SaoPaulo: return("35");

            case TCodUfIBGE.Acre: return("12");

            case TCodUfIBGE.Alagoas: return("27");

            case TCodUfIBGE.Amazonas: return("13");

            case TCodUfIBGE.Amapa: return("16");

            case TCodUfIBGE.Bahia: return("29");

            case TCodUfIBGE.Ceara: return("23");

            case TCodUfIBGE.DistritoFederal: return("53");

            case TCodUfIBGE.EspiritoSanto: return("32");

            case TCodUfIBGE.Goias: return("52");

            case TCodUfIBGE.Maranhao: return("21");

            case TCodUfIBGE.MinasGerais: return("31");

            case TCodUfIBGE.MatoGrossoDoSul: return("50");

            case TCodUfIBGE.MatoGrosso: return("51");

            case TCodUfIBGE.Para: return("15");

            case TCodUfIBGE.Paraiba: return("25");

            case TCodUfIBGE.Pernambuco: return("26");

            case TCodUfIBGE.Piaui: return("22");

            case TCodUfIBGE.Parana: return("41");

            case TCodUfIBGE.RioGrandeDoNorte: return("24");

            case TCodUfIBGE.Rondonia: return("11");

            case TCodUfIBGE.Roraima: return("14");

            case TCodUfIBGE.RioGrandeDoSul: return("43");

            case TCodUfIBGE.SantaCatarina: return("42");

            case TCodUfIBGE.Sergipe: return("28");

            case TCodUfIBGE.Tocantis: return("17");

            default: return("");
            }
        }
Ejemplo n.º 5
0
 private TCOrgaoIBGE PegarCodigoOrgaoUF(TCodUfIBGE codUfIBGE)
 {
     switch (codUfIBGE)
     {
         case TCodUfIBGE.RioDeJaneiro: return TCOrgaoIBGE.RioDeJaneiro;
         case TCodUfIBGE.SaoPaulo: return TCOrgaoIBGE.SaoPaulo;
         case TCodUfIBGE.Acre: return TCOrgaoIBGE.Acre;
         case TCodUfIBGE.Alagoas: return TCOrgaoIBGE.Alagoas;
         case TCodUfIBGE.Amazonas: return TCOrgaoIBGE.Amazonas;
         case TCodUfIBGE.Amapa: return TCOrgaoIBGE.Amapa;
         case TCodUfIBGE.Bahia: return TCOrgaoIBGE.Bahia;
         case TCodUfIBGE.Ceara: return TCOrgaoIBGE.Ceara;
         case TCodUfIBGE.DistritoFederal: return TCOrgaoIBGE.DistritoFederal;
         case TCodUfIBGE.EspiritoSanto: return TCOrgaoIBGE.EspiritoSanto;
         case TCodUfIBGE.Goias: return TCOrgaoIBGE.Goias;
         case TCodUfIBGE.Maranhao: return TCOrgaoIBGE.Maranhao;
         case TCodUfIBGE.MinasGerais: return TCOrgaoIBGE.MinasGerais;
         case TCodUfIBGE.MatoGrossoDoSul: return TCOrgaoIBGE.MatoGrossoDoSul;
         case TCodUfIBGE.MatoGrosso: return TCOrgaoIBGE.MatoGrosso;
         case TCodUfIBGE.Para: return TCOrgaoIBGE.Para;
         case TCodUfIBGE.Paraiba: return TCOrgaoIBGE.Paraiba;
         case TCodUfIBGE.Pernambuco: return TCOrgaoIBGE.Pernambuco;
         case TCodUfIBGE.Piaui: return TCOrgaoIBGE.Piaui;
         case TCodUfIBGE.Parana: return TCOrgaoIBGE.Parana;
         case TCodUfIBGE.RioGrandeDoNorte: return TCOrgaoIBGE.RioGrandeDoNorte;
         case TCodUfIBGE.Rondonia: return TCOrgaoIBGE.Rondonia;
         case TCodUfIBGE.Roraima: return TCOrgaoIBGE.Roraima;
         case TCodUfIBGE.RioGrandeDoSul: return TCOrgaoIBGE.RioGrandeDoSul;
         case TCodUfIBGE.SantaCatarina: return TCOrgaoIBGE.SantaCatarina;
         case TCodUfIBGE.Sergipe: return TCOrgaoIBGE.Sergipe;
         case TCodUfIBGE.Tocantis: return TCOrgaoIBGE.Tocantins;
         default: return TCOrgaoIBGE.Exterior;
     }
 }
Ejemplo n.º 6
0
 private static string PegarCodigoUF(TCodUfIBGE CodUfIBGE)
 {
     switch (CodUfIBGE)
     {
         case TCodUfIBGE.RioDeJaneiro: return "33";
         case TCodUfIBGE.SaoPaulo: return "35";
         case TCodUfIBGE.Acre: return "12";
         case TCodUfIBGE.Alagoas: return "27";
         case TCodUfIBGE.Amazonas: return "13";
         case TCodUfIBGE.Amapa: return "16";
         case TCodUfIBGE.Bahia: return "29";
         case TCodUfIBGE.Ceara: return "23";
         case TCodUfIBGE.DistritoFederal: return "53";
         case TCodUfIBGE.EspiritoSanto: return "32";
         case TCodUfIBGE.Goias: return "52";
         case TCodUfIBGE.Maranhao: return "21";
         case TCodUfIBGE.MinasGerais: return "31";
         case TCodUfIBGE.MatoGrossoDoSul: return "50";
         case TCodUfIBGE.MatoGrosso: return "51";
         case TCodUfIBGE.Para: return "15";
         case TCodUfIBGE.Paraiba: return "25";
         case TCodUfIBGE.Pernambuco: return "26";
         case TCodUfIBGE.Piaui: return "22";
         case TCodUfIBGE.Parana: return "41";
         case TCodUfIBGE.RioGrandeDoNorte: return "24";
         case TCodUfIBGE.Rondonia: return "11";
         case TCodUfIBGE.Roraima: return "14";
         case TCodUfIBGE.RioGrandeDoSul: return "43";
         case TCodUfIBGE.SantaCatarina: return "42";
         case TCodUfIBGE.Sergipe: return "28";
         case TCodUfIBGE.Tocantis: return "17";
         default: return "";
     }
 }
Ejemplo n.º 7
0
        public static TRetDownloadNFe DownloadNFe(TDownloadNFe downloadNFe, TCodUfIBGE CodUF, X509Certificate2 cert)
        {
            XmlNode xmlNodeRetorno = null;
            TRetDownloadNFe retornoDownloadNFe = null;
            C_WebService.ListaUrl listaURL = WsUrls.BuscaURL(CodUF, downloadNFe.tpAmb);           

            //CABEÇALHO
            DownloadNF.nfeCabecMsg cab = new DownloadNF.nfeCabecMsg();
            cab.cUF = PegarCodigoUF(CodUF);                                    //UF DO CABEÇALHO 
            cab.versaoDados = Funcoes.ConvertEnumToString(downloadNFe.versao); //VERSÃO DO CABEÇALHO

            //CRIA UMA INSTANCIA DA CONEXÃO COM O WEBSERVICE
            DownloadNF.NfeDownloadNF wsMsg = new DownloadNF.NfeDownloadNF(listaURL.UrlNfeDownloadNF);
            wsMsg.nfeCabecMsgValue = cab;                   //ASSOCIA CABEÇALHO NFE
            wsMsg.Timeout = 100000;                         //DEFINE TEMPO MAXIMO DE ESPERA POR RETORNO
            wsMsg.ClientCertificates.Add(cert);             //ASSOCIA CERTIFICADO A CONEXAO WEBSERVICE            
            wsMsg.SoapVersion = SoapProtocolVersion.Soap12; //DEFINE PROTOCOLO USADO NA CONEXÃO

            XmlDocument dados = new XmlDocument();
            dados.LoadXml(Funcoes.RemoveNameSpaceFromXml(downloadNFe.Serialize()));

            //ENVIA REQUISIÇÂO PARA SEFAZ E OBTEM RETORNO
            xmlNodeRetorno = wsMsg.nfeDownloadNF(dados);
            retornoDownloadNFe = TRetDownloadNFe.Deserialize(xmlNodeRetorno.OuterXml);

            return retornoDownloadNFe;
        }
Ejemplo n.º 8
0
        public static C_WebService.ListaUrl BuscaURL(TCodUfIBGE Estado, TAmb AmbienteNFe)
        {
            C_WebService.ListaUrl UrlWs = default(C_WebService.ListaUrl);
            switch (Estado)
            {
            //ESTADOS QUE USAM A SEFAZ VIRTUAL DO RS PARA EMITIR NFE
            // ERROR: Case labels with binary operators are unsupported : Equality
            case TCodUfIBGE.Acre:
            case TCodUfIBGE.Alagoas:
            case TCodUfIBGE.Amapa:
            case TCodUfIBGE.DistritoFederal:
            case TCodUfIBGE.Paraiba:
            case TCodUfIBGE.RioDeJaneiro:
            case TCodUfIBGE.Rondonia:
            case TCodUfIBGE.Roraima:
            case TCodUfIBGE.SantaCatarina:
            case TCodUfIBGE.Sergipe:
            case TCodUfIBGE.Tocantis:
                if (AmbienteNFe != TAmb.Producao)
                {
                    UrlWs.UrlNfeRecepcao          = "https://homologacao.nfe.sefazvirtual.rs.gov.br/ws/nferecepcao/NfeRecepcao2.asmx";
                    UrlWs.UrlNfeRetRecepcao       = "https://homologacao.nfe.sefazvirtual.rs.gov.br/ws/nferetrecepcao/NfeRetRecepcao2.asmx";
                    UrlWs.UrlNfeCancelamento      = "https://homologacao.nfe.sefazvirtual.rs.gov.br/ws/nfecancelamento/NfeCancelamento2.asmx";
                    UrlWs.UrlNfeInutilizacao      = "https://homologacao.nfe.sefazvirtual.rs.gov.br/ws/nfeinutilizacao/NfeInutilizacao2.asmx";
                    UrlWs.UrlNfeConsultaProtocolo = "https://homologacao.nfe.sefazvirtual.rs.gov.br/ws/nfeconsulta/NfeConsulta2.asmx";
                    UrlWs.UrlNfeStatusServico     = "https://homologacao.nfe.sefazvirtual.rs.gov.br/ws/nfestatusservico/NfeStatusServico2.asmx";
                    UrlWs.UrlNfeConsultaCadastro  = "";
                    UrlWs.UrlRecepcaoEvento       = "https://homologacao.nfe.sefazvirtual.rs.gov.br/ws/recepcaoevento/recepcaoevento.asmx";
                }
                else
                {
                    UrlWs.UrlNfeRecepcao          = "https://nfe.sefazvirtual.rs.gov.br/ws/nferecepcao/NfeRecepcao2.asmx";
                    UrlWs.UrlNfeRetRecepcao       = "https://nfe.sefazvirtual.rs.gov.br/ws/nferetrecepcao/NfeRetRecepcao2.asmx";
                    UrlWs.UrlNfeCancelamento      = "https://nfe.sefazvirtual.rs.gov.br/ws/nfecancelamento/NfeCancelamento2.asmx";
                    UrlWs.UrlNfeInutilizacao      = "https://nfe.sefazvirtual.rs.gov.br/ws/nfeinutilizacao/NfeInutilizacao2.asmx";
                    UrlWs.UrlNfeConsultaProtocolo = "https://nfe.sefazvirtual.rs.gov.br/ws/nfeconsulta/NfeConsulta2.asmx";
                    UrlWs.UrlNfeStatusServico     = "https://nfe.sefazvirtual.rs.gov.br/ws/nfestatusservico/NfeStatusServico2.asmx";
                    UrlWs.UrlNfeConsultaCadastro  = "";
                    UrlWs.UrlRecepcaoEvento       = "https://nfe.sefazvirtual.rs.gov.br/ws/recepcaoevento/recepcaoevento.asmx";
                }
                break;

            //ESTADOS QUE USA O SEFAZ NACIONAL PARA EMITIR NFE
            // ERROR: Case labels with binary operators are unsupported : Equality
            case TCodUfIBGE.EspiritoSanto:
            case TCodUfIBGE.Maranhao:
            case TCodUfIBGE.Para:
            case TCodUfIBGE.Piaui:
            case TCodUfIBGE.RioGrandeDoNorte:
                if (AmbienteNFe != TAmb.Producao)
                {
                    UrlWs.UrlNfeRecepcao          = "https://hom.sefazvirtual.fazenda.gov.br/NfeRecepcao2/NfeRecepcao2.asmx";
                    UrlWs.UrlNfeRetRecepcao       = "https://hom.sefazvirtual.fazenda.gov.br/NFeRetRecepcao2/NFeRetRecepcao2.asmx";
                    UrlWs.UrlNfeCancelamento      = "https://hom.sefazvirtual.fazenda.gov.br/NFeCancelamento2/NFeCancelamento2.asmx";
                    UrlWs.UrlNfeInutilizacao      = "https://hom.sefazvirtual.fazenda.gov.br/NFeInutilizacao2/NFeInutilizacao2.asmx";
                    UrlWs.UrlNfeConsultaProtocolo = "https://hom.sefazvirtual.fazenda.gov.br/nfeconsulta2/nfeconsulta2.asmx";
                    UrlWs.UrlNfeStatusServico     = "https://hom.sefazvirtual.fazenda.gov.br/NFeStatusServico2/NFeStatusServico2.asmx";
                    UrlWs.UrlNfeConsultaCadastro  = "";
                    UrlWs.UrlRecepcaoEvento       = "";
                }
                else
                {
                    UrlWs.UrlNfeRecepcao          = "https://www.sefazvirtual.fazenda.gov.br/NfeRecepcao2/NfeRecepcao2.asmx";
                    UrlWs.UrlNfeRetRecepcao       = "https://www.sefazvirtual.fazenda.gov.br/NFeRetRecepcao2/NFeRetRecepcao2.asmx";
                    UrlWs.UrlNfeCancelamento      = "https://www.sefazvirtual.fazenda.gov.br/NFeCancelamento2/NFeCancelamento2.asmx";
                    UrlWs.UrlNfeInutilizacao      = "https://www.sefazvirtual.fazenda.gov.br/NFeInutilizacao2/NFeInutilizacao2.asmx";
                    UrlWs.UrlNfeConsultaProtocolo = "https://www.sefazvirtual.fazenda.gov.br/nfeconsulta2/nfeconsulta2.asmx";
                    UrlWs.UrlNfeStatusServico     = "https://www.sefazvirtual.fazenda.gov.br/NFeStatusServico2/NFeStatusServico2.asmx";
                    UrlWs.UrlNfeConsultaCadastro  = "";
                    UrlWs.UrlRecepcaoEvento       = "";
                }
                break;

            // ERROR: Case labels with binary operators are unsupported : Equality
            //AM USA SEFAZ PROPRIA
            case TCodUfIBGE.Amazonas:
                if (AmbienteNFe != TAmb.Producao)
                {
                    UrlWs.UrlNfeRecepcao          = "https://homnfe.sefaz.am.gov.br/services2/services/NfeRecepcao2";
                    UrlWs.UrlNfeRetRecepcao       = "https://homnfe.sefaz.am.gov.br/services2/services/NfeRetRecepcao2";
                    UrlWs.UrlNfeCancelamento      = "https://homnfe.sefaz.am.gov.br/services2/services/NfeCancelamento2";
                    UrlWs.UrlNfeInutilizacao      = "https://homnfe.sefaz.am.gov.br/services2/services/NfeInutilizacao2";
                    UrlWs.UrlNfeConsultaProtocolo = "https://homnfe.sefaz.am.gov.br/services2/services/NfeConsulta2";
                    UrlWs.UrlNfeStatusServico     = "https://homnfe.sefaz.am.gov.br/services2/services/NfeStatusServico2";
                    UrlWs.UrlNfeConsultaCadastro  = "https://homnfe.sefaz.am.gov.br/services2/services/cadconsultacadastro2";
                    UrlWs.UrlRecepcaoEvento       = "https://homnfe.sefaz.am.gov.br/services2/services/RecepcaoEvento";
                }
                else
                {
                    UrlWs.UrlNfeRecepcao          = "https://nfe.sefaz.am.gov.br/services2/services/NfeRecepcao2";
                    UrlWs.UrlNfeRetRecepcao       = "https://nfe.sefaz.am.gov.br/services2/services/NfeRetRecepcao2";
                    UrlWs.UrlNfeCancelamento      = "https://nfe.sefaz.am.gov.br/services2/services/NfeCancelamento2";
                    UrlWs.UrlNfeInutilizacao      = "https://nfe.sefaz.am.gov.br/services2/services/NfeInutilizacao2";
                    UrlWs.UrlNfeConsultaProtocolo = "https://nfe.sefaz.am.gov.br/services2/services/NfeConsulta2";
                    UrlWs.UrlNfeStatusServico     = "https://nfe.sefaz.am.gov.br/services2/services/NfeStatusServico2";
                    UrlWs.UrlNfeConsultaCadastro  = "https://nfe.sefaz.am.gov.br/services2/services/cadconsultacadastro2";
                    UrlWs.UrlRecepcaoEvento       = "https://nfe.sefaz.am.gov.br/services2/services/RecepcaoEvento";
                }
                break;

            //BA USA SEFAZ PROPRIA
            // ERROR: Case labels with binary operators are unsupported : Equality
            case  TCodUfIBGE.Bahia:

                if (AmbienteNFe != TAmb.Producao)
                {
                    UrlWs.UrlNfeRecepcao          = "https://hnfe.sefaz.ba.gov.br/webservices/nfenw/NfeRecepcao2.asmx";
                    UrlWs.UrlNfeRetRecepcao       = "https://hnfe.sefaz.ba.gov.br/webservices/nfenw/NfeRetRecepcao2.asmx";
                    UrlWs.UrlNfeCancelamento      = "https://hnfe.sefaz.ba.gov.br/webservices/nfenw/NfeCancelamento2.asmx";
                    UrlWs.UrlNfeInutilizacao      = "https://hnfe.sefaz.ba.gov.br/webservices/nfenw/NfeInutilizacao2.asmx";
                    UrlWs.UrlNfeConsultaProtocolo = "https://hnfe.sefaz.ba.gov.br/webservices/nfenw/NfeConsulta2.asmx";
                    UrlWs.UrlNfeStatusServico     = "https://hnfe.sefaz.ba.gov.br/webservices/nfenw/NfeStatusServico2.asmx";
                    UrlWs.UrlNfeConsultaCadastro  = "https://hnfe.sefaz.ba.gov.br/webservices/nfenw/CadConsultaCadastro2.asmx";
                    UrlWs.UrlRecepcaoEvento       = "https://hnfe.sefaz.ba.gov.br/webservices/sre/nferecepcaoevento.asmx";
                }
                else
                {
                    UrlWs.UrlNfeRecepcao          = "https://nfe.sefaz.ba.gov.br/webservices/nfenw/NfeRecepcao2.asmx";
                    UrlWs.UrlNfeRetRecepcao       = "https://nfe.sefaz.ba.gov.br/webservices/nfenw/NfeRetRecepcao2.asmx";
                    UrlWs.UrlNfeCancelamento      = "https://nfe.sefaz.ba.gov.br/webservices/nfenw/NfeCancelamento2.asmx";
                    UrlWs.UrlNfeInutilizacao      = "https://nfe.sefaz.ba.gov.br/webservices/nfenw/NfeInutilizacao2.asmx";
                    UrlWs.UrlNfeConsultaProtocolo = "https://nfe.sefaz.ba.gov.br/webservices/nfenw/NfeConsulta2.asmx";
                    UrlWs.UrlNfeStatusServico     = "https://nfe.sefaz.ba.gov.br/webservices/nfenw/NfeStatusServico2.asmx";
                    UrlWs.UrlNfeConsultaCadastro  = "https://nfe.sefaz.ba.gov.br/webservices/nfenw/CadConsultaCadastro2.asmx";
                    UrlWs.UrlRecepcaoEvento       = "https://nfe.sefaz.ba.gov.br/webservices/sre/nferecepcaoevento.asmx";
                }
                break;

            // ERROR: Case labels with binary operators are unsupported : Equality
            //CE USA SEFAZ PROPRIA
            case TCodUfIBGE.Ceara:
                if (AmbienteNFe != TAmb.Producao)
                {
                    UrlWs.UrlNfeRecepcao          = "https://nfeh.sefaz.ce.gov.br/nfe2/services/NfeRecepcao2";
                    UrlWs.UrlNfeRetRecepcao       = "https://nfeh.sefaz.ce.gov.br/nfe2/services/NfeRetRecepcao2";
                    UrlWs.UrlNfeCancelamento      = "https://nfeh.sefaz.ce.gov.br/nfe2/services/NfeCancelamento2";
                    UrlWs.UrlNfeInutilizacao      = "https://nfeh.sefaz.ce.gov.br/nfe2/services/NfeInutilizacao2";
                    UrlWs.UrlNfeConsultaProtocolo = "https://nfeh.sefaz.ce.gov.br/nfe2/services/NfeConsulta2";
                    UrlWs.UrlNfeStatusServico     = "https://nfeh.sefaz.ce.gov.br/nfe2/services/NfeStatusServico2";
                    UrlWs.UrlNfeConsultaCadastro  = "https://nfeh.sefaz.ce.gov.br/nfe2/services/CadConsultaCadastro2";
                    UrlWs.UrlRecepcaoEvento       = "";
                }
                else
                {
                    UrlWs.UrlNfeRecepcao          = "https://nfe.sefaz.ce.gov.br/nfe2/services/NfeRecepcao2";
                    UrlWs.UrlNfeRetRecepcao       = "https://nfe.sefaz.ce.gov.br/nfe2/services/NfeRetRecepcao2";
                    UrlWs.UrlNfeCancelamento      = "https://nfe.sefaz.ce.gov.br/nfe2/services/NfeCancelamento2";
                    UrlWs.UrlNfeInutilizacao      = "https://nfe.sefaz.ce.gov.br/nfe2/services/NfeInutilizacao2";
                    UrlWs.UrlNfeConsultaProtocolo = "https://nfe.sefaz.ce.gov.br/nfe2/services/NfeConsulta2";
                    UrlWs.UrlNfeStatusServico     = "https://nfe.sefaz.ce.gov.br/nfe2/services/NfeStatusServico2";
                    UrlWs.UrlNfeConsultaCadastro  = "https://nfe.sefaz.ce.gov.br/nfe2/services/CadConsultaCadastro2";
                    UrlWs.UrlRecepcaoEvento       = "";
                }

                break;

            // ERROR: Case labels with binary operators are unsupported : Equality
            //GO USA SEFAZ PROPRIA
            case TCodUfIBGE.Goias:
                if (AmbienteNFe != TAmb.Producao)
                {
                    UrlWs.UrlNfeRecepcao          = "https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeRecepcao2?wsdl ";
                    UrlWs.UrlNfeRetRecepcao       = "https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeRetRecepcao2?wsdl ";
                    UrlWs.UrlNfeCancelamento      = "https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeCancelamento2?wsdl ";
                    UrlWs.UrlNfeInutilizacao      = "https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeInutilizacao2?wsdl ";
                    UrlWs.UrlNfeConsultaProtocolo = "https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeConsulta2?wsdl ";
                    UrlWs.UrlNfeStatusServico     = "https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeStatusServico2?wsdl ";
                    UrlWs.UrlNfeConsultaCadastro  = "https://homolog.sefaz.go.gov.br/nfe/services/v2/CadConsultaCadastro2?wsdl ";
                    UrlWs.UrlRecepcaoEvento       = "";
                }
                else
                {
                    UrlWs.UrlNfeRecepcao          = "https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeRecepcao2?wsdl ";
                    UrlWs.UrlNfeRetRecepcao       = "https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeRetRecepcao2?wsdl ";
                    UrlWs.UrlNfeCancelamento      = "https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeCancelamento2?wsdl ";
                    UrlWs.UrlNfeInutilizacao      = "https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeInutilizacao2?wsdl ";
                    UrlWs.UrlNfeConsultaProtocolo = "https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeConsulta2?wsdl ";
                    UrlWs.UrlNfeStatusServico     = "https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeStatusServico2?wsdl ";
                    UrlWs.UrlNfeConsultaCadastro  = "https://nfe.sefaz.go.gov.br/nfe/services/v2/CadConsultaCadastro2?wsdl ";
                    UrlWs.UrlRecepcaoEvento       = "";
                }
                break;

            // ERROR: Case labels with binary operators are unsupported : Equality
            //MG USA SEFAZ PROPRIA
            case TCodUfIBGE.MinasGerais:
                if (AmbienteNFe != TAmb.Producao)
                {
                    UrlWs.UrlNfeRecepcao          = "https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeRecepcao2.asmx";
                    UrlWs.UrlNfeRetRecepcao       = "https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeRetRecepcao2.asmx";
                    UrlWs.UrlNfeCancelamento      = "https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeCancelamento2.asmx";
                    UrlWs.UrlNfeInutilizacao      = "https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeInutilizacao2.asmx";
                    UrlWs.UrlNfeConsultaProtocolo = "https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeConsulta2.asmx";
                    UrlWs.UrlNfeStatusServico     = "https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeStatus2.asmx";
                    UrlWs.UrlNfeConsultaCadastro  = "https://hnfe.fazenda.mg.gov.br/nfe2/services/cadconsultacadastro2.asmx";
                    UrlWs.UrlRecepcaoEvento       = "";
                }
                else
                {
                    UrlWs.UrlNfeRecepcao          = "https://nfe.fazenda.mg.gov.br/nfe2/services/NfeRecepcao2.asmx";
                    UrlWs.UrlNfeRetRecepcao       = "https://nfe.fazenda.mg.gov.br/nfe2/services/NfeRetRecepcao2.asmx";
                    UrlWs.UrlNfeCancelamento      = "https://nfe.fazenda.mg.gov.br/nfe2/services/NfeCancelamento2.asmx";
                    UrlWs.UrlNfeInutilizacao      = "https://nfe.fazenda.mg.gov.br/nfe2/services/NfeInutilizacao2.asmx";
                    UrlWs.UrlNfeConsultaProtocolo = "https://nfe.fazenda.mg.gov.br/nfe2/services/NfeConsulta2.asmx";
                    UrlWs.UrlNfeStatusServico     = "https://nfe.fazenda.mg.gov.br/nfe2/services/NfeStatus2.asmx";
                    UrlWs.UrlNfeConsultaCadastro  = "https://nfe.fazenda.mg.gov.br/nfe2/services/cadconsultacadastro2.asmx";
                    UrlWs.UrlRecepcaoEvento       = "";
                }
                break;

            // ERROR: Case labels with binary operators are unsupported : Equality
            //MS USA SEFAZ PROPRIA
            case TCodUfIBGE.MatoGrossoDoSul:
                if (AmbienteNFe != TAmb.Producao)
                {
                    UrlWs.UrlNfeRecepcao          = "https://homologacao.nfe.ms.gov.br/homologacao/services2/NfeRecepcao2";
                    UrlWs.UrlNfeRetRecepcao       = "https://homologacao.nfe.ms.gov.br/homologacao/services2/NfeRetRecepcao2";
                    UrlWs.UrlNfeCancelamento      = "https://homologacao.nfe.ms.gov.br/homologacao/services2/NfeCancelamento2";
                    UrlWs.UrlNfeInutilizacao      = "https://homologacao.nfe.ms.gov.br/homologacao/services2/NfeInutilizacao2";
                    UrlWs.UrlNfeConsultaProtocolo = "https://homologacao.nfe.ms.gov.br/homologacao/services2/NfeConsulta2";
                    UrlWs.UrlNfeStatusServico     = "https://homologacao.nfe.ms.gov.br/homologacao/services2/NfeStatusServico2";
                    UrlWs.UrlNfeConsultaCadastro  = "https://homologacao.nfe.ms.gov.br/homologacao/services2/CadConsultaCadastro2";
                    UrlWs.UrlRecepcaoEvento       = "https://homologacao.nfe.fazenda.ms.gov.br/homologacao/services2/NfeRecepcaoEvento";
                }
                else
                {
                    UrlWs.UrlNfeRecepcao          = "https://nfe.fazenda.ms.gov.br/producao/services2/NfeRecepcao2";
                    UrlWs.UrlNfeRetRecepcao       = "https://nfe.fazenda.ms.gov.br/producao/services2/NfeRetRecepcao2";
                    UrlWs.UrlNfeCancelamento      = "https://nfe.fazenda.ms.gov.br/producao/services2/NfeCancelamento2";
                    UrlWs.UrlNfeInutilizacao      = "https://nfe.fazenda.ms.gov.br/producao/services2/NfeInutilizacao2";
                    UrlWs.UrlNfeConsultaProtocolo = "https://nfe.fazenda.ms.gov.br/producao/services2/NfeConsulta2";
                    UrlWs.UrlNfeStatusServico     = "https://nfe.fazenda.ms.gov.br/producao/services2/NfeStatusServico2";
                    UrlWs.UrlNfeConsultaCadastro  = "https://nfe.fazenda.ms.gov.br/producao/services2/CadConsultaCadastro2";
                    UrlWs.UrlRecepcaoEvento       = "https://nfe.fazenda.ms.gov.br/producao/services2/NfeRecepcaoEvento";
                }
                break;

            // ERROR: Case labels with binary operators are unsupported : Equality
            //MT USA SEFAZ PROPRIA
            case TCodUfIBGE.MatoGrosso:
                if (AmbienteNFe != TAmb.Producao)
                {
                    UrlWs.UrlNfeRecepcao          = "https://homologacao.sefaz.mt.gov.br/nfews/NfeRecepcao2?wsdl ";
                    UrlWs.UrlNfeRetRecepcao       = "https://homologacao.sefaz.mt.gov.br/nfews/NfeRetRecepcao2?wsdl ";
                    UrlWs.UrlNfeCancelamento      = "https://homologacao.sefaz.mt.gov.br/nfews/NfeCancelamento2?wsdl ";
                    UrlWs.UrlNfeInutilizacao      = "https://homologacao.sefaz.mt.gov.br/nfews/NfeInutilizacao2?wsdl ";
                    UrlWs.UrlNfeConsultaProtocolo = "https://homologacao.sefaz.mt.gov.br/nfews/NfeConsulta2?wsdl ";
                    UrlWs.UrlNfeStatusServico     = "https://homologacao.sefaz.mt.gov.br/nfews/NfeStatusServico2?wsdl ";
                    UrlWs.UrlNfeConsultaCadastro  = "";
                    UrlWs.UrlRecepcaoEvento       = "https://homologacao.sefaz.mt.gov.br/nfews/v2/services/RecepcaoEvento?wsdl ";
                }
                else
                {
                    UrlWs.UrlNfeRecepcao          = "https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeRecepcao2?wsdl ";
                    UrlWs.UrlNfeRetRecepcao       = "https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeRetRecepcao2?wsdl ";
                    UrlWs.UrlNfeCancelamento      = "https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeCancelamento2?wsdl ";
                    UrlWs.UrlNfeInutilizacao      = "https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeInutilizacao2?wsdl ";
                    UrlWs.UrlNfeConsultaProtocolo = "https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeConsulta2?wsdl ";
                    UrlWs.UrlNfeStatusServico     = "https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeStatusServico2?wsdl ";
                    UrlWs.UrlNfeConsultaCadastro  = "https://nfe.sefaz.mt.gov.br/nfews/CadConsultaCadastro?wsdl ";
                    UrlWs.UrlRecepcaoEvento       = "https://nfe.sefaz.mt.gov.br/nfews/v2/services/RecepcaoEvento?wsdl ";
                }
                break;

            // ERROR: Case labels with binary operators are unsupported : Equality
            //PB USA SEFAZ VIRTUAL DO RIO GRANDE DO SUL
            case TCodUfIBGE.Pernambuco:
                if (AmbienteNFe != TAmb.Producao)
                {
                    UrlWs.UrlNfeRecepcao          = "https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NfeRecepcao2";
                    UrlWs.UrlNfeRetRecepcao       = "https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NfeRetRecepcao2";
                    UrlWs.UrlNfeCancelamento      = "https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NfeCancelamento2";
                    UrlWs.UrlNfeInutilizacao      = "https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NfeInutilizacao2";
                    UrlWs.UrlNfeConsultaProtocolo = "https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NfeConsulta2";
                    UrlWs.UrlNfeStatusServico     = "https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NfeStatusServico2";
                    UrlWs.UrlNfeConsultaCadastro  = "";
                    UrlWs.UrlRecepcaoEvento       = "https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/RecepcaoEvento";
                }
                else
                {
                    UrlWs.UrlNfeRecepcao          = "https://nfe.sefaz.pe.gov.br/nfe-service/services/NfeRecepcao2";
                    UrlWs.UrlNfeRetRecepcao       = "https://nfe.sefaz.pe.gov.br/nfe-service/services/NfeRetRecepcao2";
                    UrlWs.UrlNfeCancelamento      = "https://nfe.sefaz.pe.gov.br/nfe-service/services/NfeCancelamento2";
                    UrlWs.UrlNfeInutilizacao      = "https://nfe.sefaz.pe.gov.br/nfe-service/services/NfeInutilizacao2";
                    UrlWs.UrlNfeConsultaProtocolo = "https://nfe.sefaz.pe.gov.br/nfe-service/services/NfeInutilizacao2";
                    UrlWs.UrlNfeStatusServico     = "https://nfe.sefaz.pe.gov.br/nfe-service/services/NfeStatusServico2";
                    UrlWs.UrlNfeConsultaCadastro  = "https://nfe.sefaz.pe.gov.br/nfe-service/services/CadConsultaCadastro2";
                    UrlWs.UrlRecepcaoEvento       = "https://nfe.sefaz.pe.gov.br/nfe-service/services/RecepcaoEvento";
                }
                break;

            // ERROR: Case labels with binary operators are unsupported : Equality
            //PB USA SEFAZ VIRTUAL DO RIO GRANDE DO SUL
            case TCodUfIBGE.Parana:
                if (AmbienteNFe != TAmb.Producao)
                {
                    UrlWs.UrlNfeRecepcao          = "https://homologacao.nfe2.fazenda.pr.gov.br/nfe/NFeRecepcao2.asmx";
                    UrlWs.UrlNfeRetRecepcao       = "https://homologacao.nfe2.fazenda.pr.gov.br/nfe/NFeRetRecepcao2.asmx";
                    UrlWs.UrlNfeCancelamento      = "https://homologacao.nfe2.fazenda.pr.gov.br/nfe/NFeCancelamento2.asmx";
                    UrlWs.UrlNfeInutilizacao      = "https://homologacao.nfe2.fazenda.pr.gov.br/nfe/NFeInutilizacao2.asmx";
                    UrlWs.UrlNfeConsultaProtocolo = "https://homologacao.nfe2.fazenda.pr.gov.br/nfe/NFeConsulta2.asmx";
                    UrlWs.UrlNfeStatusServico     = "https://homologacao.nfe2.fazenda.pr.gov.br/nfe/NFeStatusServico2.asmx";
                    UrlWs.UrlNfeConsultaCadastro  = "";
                    UrlWs.UrlRecepcaoEvento       = "";
                }
                else
                {
                    UrlWs.UrlNfeRecepcao          = "https://nfe2.fazenda.pr.gov.br/nfe/NFeRecepcao2.asmx";
                    UrlWs.UrlNfeRetRecepcao       = "https://nfe2.fazenda.pr.gov.br/nfe/NFeRetRecepcao2.asmx";
                    UrlWs.UrlNfeCancelamento      = "https://nfe2.fazenda.pr.gov.br/nfe/NFeCancelamento2.asmx";
                    UrlWs.UrlNfeInutilizacao      = "https://nfe2.fazenda.pr.gov.br/nfe/NFeInutilizacao2.asmx";
                    UrlWs.UrlNfeConsultaProtocolo = "https://nfe2.fazenda.pr.gov.br/nfe/NFeConsulta2.asmx";
                    UrlWs.UrlNfeStatusServico     = "https://nfe2.fazenda.pr.gov.br/nfe/NFeConsulta2.asmx";
                    UrlWs.UrlNfeConsultaCadastro  = "";
                    UrlWs.UrlRecepcaoEvento       = "";
                }

                break;

            case TCodUfIBGE.RioGrandeDoSul:
                if (AmbienteNFe != TAmb.Producao)
                {
                    UrlWs.UrlNfeRecepcao          = "https://homologacao.nfe.sefaz.rs.gov.br/ws/Nferecepcao/NFeRecepcao2.asmx";
                    UrlWs.UrlNfeRetRecepcao       = "https://homologacao.nfe.sefaz.rs.gov.br/ws/nferetrecepcao/NfeRetRecepcao2.asmx";
                    UrlWs.UrlNfeCancelamento      = "https://homologacao.nfe.sefaz.rs.gov.br/ws/nfecancelamento/NfeCancelamento2.asmx";
                    UrlWs.UrlNfeInutilizacao      = "https://homologacao.nfe.sefaz.rs.gov.br/ws/nfeinutilizacao/NfeInutilizacao2.asmx";
                    UrlWs.UrlNfeConsultaProtocolo = "https://homologacao.nfe.sefaz.rs.gov.br/ws/nfeconsulta/NfeConsulta2.asmx";
                    UrlWs.UrlNfeStatusServico     = "https://homologacao.nfe.sefaz.rs.gov.br/ws/nfestatusservico/NfeStatusServico2.asmx";
                    UrlWs.UrlNfeConsultaCadastro  = "";
                    UrlWs.UrlRecepcaoEvento       = "https://homologacao.nfe.sefaz.rs.gov.br/ws/recepcaoevento/recepcaoevento.asmx";
                }
                else
                {
                    UrlWs.UrlNfeRecepcao          = "https://nfe.sefaz.rs.gov.br/ws/Nferecepcao/NFeRecepcao2.asmx";
                    UrlWs.UrlNfeRetRecepcao       = "https://nfe.sefaz.rs.gov.br/ws/NfeRetRecepcao/NfeRetRecepcao2.asmx";
                    UrlWs.UrlNfeCancelamento      = "https://nfe.sefaz.rs.gov.br/ws/NfeCancelamento/NfeCancelamento2.asmx";
                    UrlWs.UrlNfeInutilizacao      = "https://nfe.sefaz.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao2.asmx";
                    UrlWs.UrlNfeConsultaProtocolo = "https://nfe.sefaz.rs.gov.br/ws/NfeConsulta/NfeConsulta2.asmx";
                    UrlWs.UrlNfeStatusServico     = "https://nfe.sefaz.rs.gov.br/ws/NfeStatusServico/NfeStatusServico2.asmx";
                    UrlWs.UrlNfeConsultaCadastro  = "https://sef.sefaz.rs.gov.br/ws/cadconsultacadastro/cadconsultacadastro2.asmx";
                    UrlWs.UrlRecepcaoEvento       = "https://nfe.sefaz.rs.gov.br/ws/recepcaoevento/recepcaoevento.asmx";
                }
                break;

            //SP USA SEFAZ PROPRIO
            case TCodUfIBGE.SaoPaulo:
                if (AmbienteNFe != TAmb.Producao)
                {
                    UrlWs.UrlNfeRecepcao          = "https://homologacao.nfe.fazenda.sp.gov.br/nfeweb/services/NfeRecepcao2.asmx";
                    UrlWs.UrlNfeRetRecepcao       = "https://homologacao.nfe.fazenda.sp.gov.br/nfeweb/services/NfeRetRecepcao2.asmx";
                    UrlWs.UrlNfeCancelamento      = "https://homologacao.nfe.fazenda.sp.gov.br/nfeweb/services/NfeCancelamento2.asmx";
                    UrlWs.UrlNfeInutilizacao      = "https://homologacao.nfe.fazenda.sp.gov.br/nfeweb/services/NfeInutilizacao2.asmx";
                    UrlWs.UrlNfeConsultaProtocolo = "https://homologacao.nfe.fazenda.sp.gov.br/nfeweb/services/NfeConsulta2.asmx";
                    UrlWs.UrlNfeStatusServico     = "https://homologacao.nfe.fazenda.sp.gov.br/nfeweb/services/NfeStatusServico2.asmx";
                    UrlWs.UrlNfeConsultaCadastro  = "https://homologacao.nfe.fazenda.sp.gov.br/nfeweb/services/CadConsultaCadastro2.asmx";
                    UrlWs.UrlRecepcaoEvento       = "https://homologacao.nfe.fazenda.sp.gov.br/eventosWEB/services/RecepcaoEvento.asmx";
                }
                else
                {
                    UrlWs.UrlNfeRecepcao          = "https://nfe.fazenda.sp.gov.br/nfeweb/services/nferecepcao2.asmx";
                    UrlWs.UrlNfeRetRecepcao       = "https://nfe.fazenda.sp.gov.br/nfeweb/services/nferetrecepcao2.asmx";
                    UrlWs.UrlNfeCancelamento      = "https://nfe.fazenda.sp.gov.br/nfeweb/services/nfecancelamento2.asmx";
                    UrlWs.UrlNfeInutilizacao      = "https://nfe.fazenda.sp.gov.br/nfeweb/services/nfeinutilizacao2.asmx";
                    UrlWs.UrlNfeConsultaProtocolo = "https://nfe.fazenda.sp.gov.br/nfeweb/services/nfeconsulta2.asmx";
                    UrlWs.UrlNfeStatusServico     = "https://nfe.fazenda.sp.gov.br/nfeweb/services/nfestatusservico2.asmx";
                    UrlWs.UrlNfeConsultaCadastro  = "https://nfe.fazenda.sp.gov.br/nfeweb/services/cadconsultacadastro2.asmx";
                    UrlWs.UrlRecepcaoEvento       = "https://nfe.fazenda.sp.gov.br/eventosWEB/services/RecepcaoEvento.asmx";
                }
                break;
            }
            if (AmbienteNFe != TAmb.Producao)
            {
                UrlWs.UrlNfeDownloadNF = "https://hom.nfe.fazenda.gov.br/NfeDownloadNF/NfeDownloadNF.asmx";
            }
            else
            {
                UrlWs.UrlNfeDownloadNF = "https://www.nfe.fazenda.gov.br/NfeDownloadNF/NfeDownloadNF.asmx";
            }
            return(UrlWs);
        }
Ejemplo n.º 9
0
        public static C_WebService.ListaUrl BuscaURL(TCodUfIBGE Estado, TAmb AmbienteNFe)
        {
            C_WebService.ListaUrl UrlWs = default(C_WebService.ListaUrl);
            switch (Estado)
            {
                //ESTADOS QUE USAM A SEFAZ VIRTUAL DO RS PARA EMITIR NFE
                // ERROR: Case labels with binary operators are unsupported : Equality
                case TCodUfIBGE.Acre:
                case TCodUfIBGE.Alagoas:
                case TCodUfIBGE.Amapa:
                case TCodUfIBGE.DistritoFederal:
                case TCodUfIBGE.Paraiba:
                case TCodUfIBGE.RioDeJaneiro:
                case TCodUfIBGE.Rondonia:
                case TCodUfIBGE.Roraima:
                case TCodUfIBGE.SantaCatarina:
                case TCodUfIBGE.Sergipe:
                case TCodUfIBGE.Tocantis:
                    if (AmbienteNFe != TAmb.Producao)
                    {
                        UrlWs.UrlNfeRecepcao = "https://homologacao.nfe.sefazvirtual.rs.gov.br/ws/nferecepcao/NfeRecepcao2.asmx";
                        UrlWs.UrlNfeRetRecepcao = "https://homologacao.nfe.sefazvirtual.rs.gov.br/ws/nferetrecepcao/NfeRetRecepcao2.asmx";
                        UrlWs.UrlNfeCancelamento = "https://homologacao.nfe.sefazvirtual.rs.gov.br/ws/nfecancelamento/NfeCancelamento2.asmx";
                        UrlWs.UrlNfeInutilizacao = "https://homologacao.nfe.sefazvirtual.rs.gov.br/ws/nfeinutilizacao/NfeInutilizacao2.asmx";
                        UrlWs.UrlNfeConsultaProtocolo = "https://homologacao.nfe.sefazvirtual.rs.gov.br/ws/nfeconsulta/NfeConsulta2.asmx";
                        UrlWs.UrlNfeStatusServico = "https://homologacao.nfe.sefazvirtual.rs.gov.br/ws/nfestatusservico/NfeStatusServico2.asmx";
                        UrlWs.UrlNfeConsultaCadastro = "";
                        UrlWs.UrlRecepcaoEvento = "https://homologacao.nfe.sefazvirtual.rs.gov.br/ws/recepcaoevento/recepcaoevento.asmx";
                    }
                    else
                    {
                        UrlWs.UrlNfeRecepcao = "https://nfe.sefazvirtual.rs.gov.br/ws/nferecepcao/NfeRecepcao2.asmx";
                        UrlWs.UrlNfeRetRecepcao = "https://nfe.sefazvirtual.rs.gov.br/ws/nferetrecepcao/NfeRetRecepcao2.asmx";
                        UrlWs.UrlNfeCancelamento = "https://nfe.sefazvirtual.rs.gov.br/ws/nfecancelamento/NfeCancelamento2.asmx";
                        UrlWs.UrlNfeInutilizacao = "https://nfe.sefazvirtual.rs.gov.br/ws/nfeinutilizacao/NfeInutilizacao2.asmx";
                        UrlWs.UrlNfeConsultaProtocolo = "https://nfe.sefazvirtual.rs.gov.br/ws/nfeconsulta/NfeConsulta2.asmx";
                        UrlWs.UrlNfeStatusServico = "https://nfe.sefazvirtual.rs.gov.br/ws/nfestatusservico/NfeStatusServico2.asmx";
                        UrlWs.UrlNfeConsultaCadastro = "";
                        UrlWs.UrlRecepcaoEvento = "https://nfe.sefazvirtual.rs.gov.br/ws/recepcaoevento/recepcaoevento.asmx";
                    }
                    break;
                //ESTADOS QUE USA O SEFAZ NACIONAL PARA EMITIR NFE
                // ERROR: Case labels with binary operators are unsupported : Equality
                case TCodUfIBGE.EspiritoSanto:
                case TCodUfIBGE.Maranhao:
                case TCodUfIBGE.Para:
                case TCodUfIBGE.Piaui:
                case TCodUfIBGE.RioGrandeDoNorte:
                    if (AmbienteNFe != TAmb.Producao)
                    {
                        UrlWs.UrlNfeRecepcao = "https://hom.sefazvirtual.fazenda.gov.br/NfeRecepcao2/NfeRecepcao2.asmx";
                        UrlWs.UrlNfeRetRecepcao = "https://hom.sefazvirtual.fazenda.gov.br/NFeRetRecepcao2/NFeRetRecepcao2.asmx";
                        UrlWs.UrlNfeCancelamento = "https://hom.sefazvirtual.fazenda.gov.br/NFeCancelamento2/NFeCancelamento2.asmx";
                        UrlWs.UrlNfeInutilizacao = "https://hom.sefazvirtual.fazenda.gov.br/NFeInutilizacao2/NFeInutilizacao2.asmx";
                        UrlWs.UrlNfeConsultaProtocolo = "https://hom.sefazvirtual.fazenda.gov.br/nfeconsulta2/nfeconsulta2.asmx";
                        UrlWs.UrlNfeStatusServico = "https://hom.sefazvirtual.fazenda.gov.br/NFeStatusServico2/NFeStatusServico2.asmx";
                        UrlWs.UrlNfeConsultaCadastro = "";
                        UrlWs.UrlRecepcaoEvento = "";
                    }
                    else
                    {
                        UrlWs.UrlNfeRecepcao = "https://www.sefazvirtual.fazenda.gov.br/NfeRecepcao2/NfeRecepcao2.asmx";
                        UrlWs.UrlNfeRetRecepcao = "https://www.sefazvirtual.fazenda.gov.br/NFeRetRecepcao2/NFeRetRecepcao2.asmx";
                        UrlWs.UrlNfeCancelamento = "https://www.sefazvirtual.fazenda.gov.br/NFeCancelamento2/NFeCancelamento2.asmx";
                        UrlWs.UrlNfeInutilizacao = "https://www.sefazvirtual.fazenda.gov.br/NFeInutilizacao2/NFeInutilizacao2.asmx";
                        UrlWs.UrlNfeConsultaProtocolo = "https://www.sefazvirtual.fazenda.gov.br/nfeconsulta2/nfeconsulta2.asmx";
                        UrlWs.UrlNfeStatusServico = "https://www.sefazvirtual.fazenda.gov.br/NFeStatusServico2/NFeStatusServico2.asmx";
                        UrlWs.UrlNfeConsultaCadastro = "";
                        UrlWs.UrlRecepcaoEvento = "";
                    }
                    break;
                // ERROR: Case labels with binary operators are unsupported : Equality
                //AM USA SEFAZ PROPRIA
                case TCodUfIBGE.Amazonas:                    
                    if (AmbienteNFe != TAmb.Producao)
                    {
                        UrlWs.UrlNfeRecepcao = "https://homnfe.sefaz.am.gov.br/services2/services/NfeRecepcao2";
                        UrlWs.UrlNfeRetRecepcao = "https://homnfe.sefaz.am.gov.br/services2/services/NfeRetRecepcao2";
                        UrlWs.UrlNfeCancelamento = "https://homnfe.sefaz.am.gov.br/services2/services/NfeCancelamento2";
                        UrlWs.UrlNfeInutilizacao = "https://homnfe.sefaz.am.gov.br/services2/services/NfeInutilizacao2";
                        UrlWs.UrlNfeConsultaProtocolo = "https://homnfe.sefaz.am.gov.br/services2/services/NfeConsulta2";
                        UrlWs.UrlNfeStatusServico = "https://homnfe.sefaz.am.gov.br/services2/services/NfeStatusServico2";
                        UrlWs.UrlNfeConsultaCadastro = "https://homnfe.sefaz.am.gov.br/services2/services/cadconsultacadastro2";
                        UrlWs.UrlRecepcaoEvento = "https://homnfe.sefaz.am.gov.br/services2/services/RecepcaoEvento";
                    }
                    else
                    {
                        UrlWs.UrlNfeRecepcao = "https://nfe.sefaz.am.gov.br/services2/services/NfeRecepcao2";
                        UrlWs.UrlNfeRetRecepcao = "https://nfe.sefaz.am.gov.br/services2/services/NfeRetRecepcao2";
                        UrlWs.UrlNfeCancelamento = "https://nfe.sefaz.am.gov.br/services2/services/NfeCancelamento2";
                        UrlWs.UrlNfeInutilizacao = "https://nfe.sefaz.am.gov.br/services2/services/NfeInutilizacao2";
                        UrlWs.UrlNfeConsultaProtocolo = "https://nfe.sefaz.am.gov.br/services2/services/NfeConsulta2";
                        UrlWs.UrlNfeStatusServico = "https://nfe.sefaz.am.gov.br/services2/services/NfeStatusServico2";
                        UrlWs.UrlNfeConsultaCadastro = "https://nfe.sefaz.am.gov.br/services2/services/cadconsultacadastro2";
                        UrlWs.UrlRecepcaoEvento = "https://nfe.sefaz.am.gov.br/services2/services/RecepcaoEvento";
                    }
                    break;
                //BA USA SEFAZ PROPRIA
                // ERROR: Case labels with binary operators are unsupported : Equality
                case  TCodUfIBGE.Bahia:
                    
                    if (AmbienteNFe != TAmb.Producao)
                    {
                        UrlWs.UrlNfeRecepcao = "https://hnfe.sefaz.ba.gov.br/webservices/nfenw/NfeRecepcao2.asmx";
                        UrlWs.UrlNfeRetRecepcao = "https://hnfe.sefaz.ba.gov.br/webservices/nfenw/NfeRetRecepcao2.asmx";
                        UrlWs.UrlNfeCancelamento = "https://hnfe.sefaz.ba.gov.br/webservices/nfenw/NfeCancelamento2.asmx";
                        UrlWs.UrlNfeInutilizacao = "https://hnfe.sefaz.ba.gov.br/webservices/nfenw/NfeInutilizacao2.asmx";
                        UrlWs.UrlNfeConsultaProtocolo = "https://hnfe.sefaz.ba.gov.br/webservices/nfenw/NfeConsulta2.asmx";
                        UrlWs.UrlNfeStatusServico = "https://hnfe.sefaz.ba.gov.br/webservices/nfenw/NfeStatusServico2.asmx";
                        UrlWs.UrlNfeConsultaCadastro = "https://hnfe.sefaz.ba.gov.br/webservices/nfenw/CadConsultaCadastro2.asmx";
                        UrlWs.UrlRecepcaoEvento = "https://hnfe.sefaz.ba.gov.br/webservices/sre/nferecepcaoevento.asmx";
                    }
                    else
                    {
                        UrlWs.UrlNfeRecepcao = "https://nfe.sefaz.ba.gov.br/webservices/nfenw/NfeRecepcao2.asmx";
                        UrlWs.UrlNfeRetRecepcao = "https://nfe.sefaz.ba.gov.br/webservices/nfenw/NfeRetRecepcao2.asmx";
                        UrlWs.UrlNfeCancelamento = "https://nfe.sefaz.ba.gov.br/webservices/nfenw/NfeCancelamento2.asmx";
                        UrlWs.UrlNfeInutilizacao = "https://nfe.sefaz.ba.gov.br/webservices/nfenw/NfeInutilizacao2.asmx";
                        UrlWs.UrlNfeConsultaProtocolo = "https://nfe.sefaz.ba.gov.br/webservices/nfenw/NfeConsulta2.asmx";
                        UrlWs.UrlNfeStatusServico = "https://nfe.sefaz.ba.gov.br/webservices/nfenw/NfeStatusServico2.asmx";
                        UrlWs.UrlNfeConsultaCadastro = "https://nfe.sefaz.ba.gov.br/webservices/nfenw/CadConsultaCadastro2.asmx";
                        UrlWs.UrlRecepcaoEvento = "https://nfe.sefaz.ba.gov.br/webservices/sre/nferecepcaoevento.asmx";
                    }
                    break;
                // ERROR: Case labels with binary operators are unsupported : Equality
                //CE USA SEFAZ PROPRIA
                case TCodUfIBGE.Ceara:                    
                    if (AmbienteNFe != TAmb.Producao)
                    {
                        UrlWs.UrlNfeRecepcao = "https://nfeh.sefaz.ce.gov.br/nfe2/services/NfeRecepcao2";
                        UrlWs.UrlNfeRetRecepcao = "https://nfeh.sefaz.ce.gov.br/nfe2/services/NfeRetRecepcao2";
                        UrlWs.UrlNfeCancelamento = "https://nfeh.sefaz.ce.gov.br/nfe2/services/NfeCancelamento2";
                        UrlWs.UrlNfeInutilizacao = "https://nfeh.sefaz.ce.gov.br/nfe2/services/NfeInutilizacao2";
                        UrlWs.UrlNfeConsultaProtocolo = "https://nfeh.sefaz.ce.gov.br/nfe2/services/NfeConsulta2";
                        UrlWs.UrlNfeStatusServico = "https://nfeh.sefaz.ce.gov.br/nfe2/services/NfeStatusServico2";
                        UrlWs.UrlNfeConsultaCadastro = "https://nfeh.sefaz.ce.gov.br/nfe2/services/CadConsultaCadastro2";
                        UrlWs.UrlRecepcaoEvento = "";
                    }
                    else
                    {
                        UrlWs.UrlNfeRecepcao = "https://nfe.sefaz.ce.gov.br/nfe2/services/NfeRecepcao2";
                        UrlWs.UrlNfeRetRecepcao = "https://nfe.sefaz.ce.gov.br/nfe2/services/NfeRetRecepcao2";
                        UrlWs.UrlNfeCancelamento = "https://nfe.sefaz.ce.gov.br/nfe2/services/NfeCancelamento2";
                        UrlWs.UrlNfeInutilizacao = "https://nfe.sefaz.ce.gov.br/nfe2/services/NfeInutilizacao2";
                        UrlWs.UrlNfeConsultaProtocolo = "https://nfe.sefaz.ce.gov.br/nfe2/services/NfeConsulta2";
                        UrlWs.UrlNfeStatusServico = "https://nfe.sefaz.ce.gov.br/nfe2/services/NfeStatusServico2";
                        UrlWs.UrlNfeConsultaCadastro = "https://nfe.sefaz.ce.gov.br/nfe2/services/CadConsultaCadastro2";
                        UrlWs.UrlRecepcaoEvento = "";
                    }

                    break;
                // ERROR: Case labels with binary operators are unsupported : Equality
                //GO USA SEFAZ PROPRIA
                case TCodUfIBGE.Goias:                    
                    if (AmbienteNFe != TAmb.Producao)
                    {
                        UrlWs.UrlNfeRecepcao = "https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeRecepcao2?wsdl ";
                        UrlWs.UrlNfeRetRecepcao = "https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeRetRecepcao2?wsdl ";
                        UrlWs.UrlNfeCancelamento = "https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeCancelamento2?wsdl ";
                        UrlWs.UrlNfeInutilizacao = "https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeInutilizacao2?wsdl ";
                        UrlWs.UrlNfeConsultaProtocolo = "https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeConsulta2?wsdl ";
                        UrlWs.UrlNfeStatusServico = "https://homolog.sefaz.go.gov.br/nfe/services/v2/NfeStatusServico2?wsdl ";
                        UrlWs.UrlNfeConsultaCadastro = "https://homolog.sefaz.go.gov.br/nfe/services/v2/CadConsultaCadastro2?wsdl ";
                        UrlWs.UrlRecepcaoEvento = "";
                    }
                    else
                    {
                        UrlWs.UrlNfeRecepcao = "https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeRecepcao2?wsdl ";
                        UrlWs.UrlNfeRetRecepcao = "https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeRetRecepcao2?wsdl ";
                        UrlWs.UrlNfeCancelamento = "https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeCancelamento2?wsdl ";
                        UrlWs.UrlNfeInutilizacao = "https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeInutilizacao2?wsdl ";
                        UrlWs.UrlNfeConsultaProtocolo = "https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeConsulta2?wsdl ";
                        UrlWs.UrlNfeStatusServico = "https://nfe.sefaz.go.gov.br/nfe/services/v2/NfeStatusServico2?wsdl ";
                        UrlWs.UrlNfeConsultaCadastro = "https://nfe.sefaz.go.gov.br/nfe/services/v2/CadConsultaCadastro2?wsdl ";
                        UrlWs.UrlRecepcaoEvento = "";
                    }
                    break;
                // ERROR: Case labels with binary operators are unsupported : Equality
                //MG USA SEFAZ PROPRIA
                case TCodUfIBGE.MinasGerais:                    
                    if (AmbienteNFe != TAmb.Producao)
                    {
                        UrlWs.UrlNfeRecepcao = "https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeRecepcao2.asmx";
                        UrlWs.UrlNfeRetRecepcao = "https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeRetRecepcao2.asmx";
                        UrlWs.UrlNfeCancelamento = "https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeCancelamento2.asmx";
                        UrlWs.UrlNfeInutilizacao = "https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeInutilizacao2.asmx";
                        UrlWs.UrlNfeConsultaProtocolo = "https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeConsulta2.asmx";
                        UrlWs.UrlNfeStatusServico = "https://hnfe.fazenda.mg.gov.br/nfe2/services/NfeStatus2.asmx";
                        UrlWs.UrlNfeConsultaCadastro = "https://hnfe.fazenda.mg.gov.br/nfe2/services/cadconsultacadastro2.asmx";
                        UrlWs.UrlRecepcaoEvento = "";
                    }
                    else
                    {
                        UrlWs.UrlNfeRecepcao = "https://nfe.fazenda.mg.gov.br/nfe2/services/NfeRecepcao2.asmx";
                        UrlWs.UrlNfeRetRecepcao = "https://nfe.fazenda.mg.gov.br/nfe2/services/NfeRetRecepcao2.asmx";
                        UrlWs.UrlNfeCancelamento = "https://nfe.fazenda.mg.gov.br/nfe2/services/NfeCancelamento2.asmx";
                        UrlWs.UrlNfeInutilizacao = "https://nfe.fazenda.mg.gov.br/nfe2/services/NfeInutilizacao2.asmx";
                        UrlWs.UrlNfeConsultaProtocolo = "https://nfe.fazenda.mg.gov.br/nfe2/services/NfeConsulta2.asmx";
                        UrlWs.UrlNfeStatusServico = "https://nfe.fazenda.mg.gov.br/nfe2/services/NfeStatus2.asmx";
                        UrlWs.UrlNfeConsultaCadastro = "https://nfe.fazenda.mg.gov.br/nfe2/services/cadconsultacadastro2.asmx";
                        UrlWs.UrlRecepcaoEvento = "";
                    }
                    break;
                // ERROR: Case labels with binary operators are unsupported : Equality
                //MS USA SEFAZ PROPRIA
                case TCodUfIBGE.MatoGrossoDoSul:                    
                    if (AmbienteNFe != TAmb.Producao)
                    {
                        UrlWs.UrlNfeRecepcao = "https://homologacao.nfe.ms.gov.br/homologacao/services2/NfeRecepcao2";
                        UrlWs.UrlNfeRetRecepcao = "https://homologacao.nfe.ms.gov.br/homologacao/services2/NfeRetRecepcao2";
                        UrlWs.UrlNfeCancelamento = "https://homologacao.nfe.ms.gov.br/homologacao/services2/NfeCancelamento2";
                        UrlWs.UrlNfeInutilizacao = "https://homologacao.nfe.ms.gov.br/homologacao/services2/NfeInutilizacao2";
                        UrlWs.UrlNfeConsultaProtocolo = "https://homologacao.nfe.ms.gov.br/homologacao/services2/NfeConsulta2";
                        UrlWs.UrlNfeStatusServico = "https://homologacao.nfe.ms.gov.br/homologacao/services2/NfeStatusServico2";
                        UrlWs.UrlNfeConsultaCadastro = "https://homologacao.nfe.ms.gov.br/homologacao/services2/CadConsultaCadastro2";
                        UrlWs.UrlRecepcaoEvento = "https://homologacao.nfe.fazenda.ms.gov.br/homologacao/services2/NfeRecepcaoEvento";
                    }
                    else
                    {
                        UrlWs.UrlNfeRecepcao = "https://nfe.fazenda.ms.gov.br/producao/services2/NfeRecepcao2";
                        UrlWs.UrlNfeRetRecepcao = "https://nfe.fazenda.ms.gov.br/producao/services2/NfeRetRecepcao2";
                        UrlWs.UrlNfeCancelamento = "https://nfe.fazenda.ms.gov.br/producao/services2/NfeCancelamento2";
                        UrlWs.UrlNfeInutilizacao = "https://nfe.fazenda.ms.gov.br/producao/services2/NfeInutilizacao2";
                        UrlWs.UrlNfeConsultaProtocolo = "https://nfe.fazenda.ms.gov.br/producao/services2/NfeConsulta2";
                        UrlWs.UrlNfeStatusServico = "https://nfe.fazenda.ms.gov.br/producao/services2/NfeStatusServico2";
                        UrlWs.UrlNfeConsultaCadastro = "https://nfe.fazenda.ms.gov.br/producao/services2/CadConsultaCadastro2";
                        UrlWs.UrlRecepcaoEvento = "https://nfe.fazenda.ms.gov.br/producao/services2/NfeRecepcaoEvento";
                    }
                    break;
                // ERROR: Case labels with binary operators are unsupported : Equality
                //MT USA SEFAZ PROPRIA
                case TCodUfIBGE.MatoGrosso:                    
                    if (AmbienteNFe != TAmb.Producao)
                    {
                        UrlWs.UrlNfeRecepcao = "https://homologacao.sefaz.mt.gov.br/nfews/NfeRecepcao2?wsdl ";
                        UrlWs.UrlNfeRetRecepcao = "https://homologacao.sefaz.mt.gov.br/nfews/NfeRetRecepcao2?wsdl ";
                        UrlWs.UrlNfeCancelamento = "https://homologacao.sefaz.mt.gov.br/nfews/NfeCancelamento2?wsdl ";
                        UrlWs.UrlNfeInutilizacao = "https://homologacao.sefaz.mt.gov.br/nfews/NfeInutilizacao2?wsdl ";
                        UrlWs.UrlNfeConsultaProtocolo = "https://homologacao.sefaz.mt.gov.br/nfews/NfeConsulta2?wsdl ";
                        UrlWs.UrlNfeStatusServico = "https://homologacao.sefaz.mt.gov.br/nfews/NfeStatusServico2?wsdl ";
                        UrlWs.UrlNfeConsultaCadastro = "";
                        UrlWs.UrlRecepcaoEvento = "https://homologacao.sefaz.mt.gov.br/nfews/v2/services/RecepcaoEvento?wsdl ";
                    }
                    else
                    {
                        UrlWs.UrlNfeRecepcao = "https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeRecepcao2?wsdl ";
                        UrlWs.UrlNfeRetRecepcao = "https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeRetRecepcao2?wsdl ";
                        UrlWs.UrlNfeCancelamento = "https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeCancelamento2?wsdl ";
                        UrlWs.UrlNfeInutilizacao = "https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeInutilizacao2?wsdl ";
                        UrlWs.UrlNfeConsultaProtocolo = "https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeConsulta2?wsdl ";
                        UrlWs.UrlNfeStatusServico = "https://nfe.sefaz.mt.gov.br/nfews/v2/services/NfeStatusServico2?wsdl ";
                        UrlWs.UrlNfeConsultaCadastro = "https://nfe.sefaz.mt.gov.br/nfews/CadConsultaCadastro?wsdl ";
                        UrlWs.UrlRecepcaoEvento = "https://nfe.sefaz.mt.gov.br/nfews/v2/services/RecepcaoEvento?wsdl ";
                    }
                    break;
                // ERROR: Case labels with binary operators are unsupported : Equality
                //PB USA SEFAZ VIRTUAL DO RIO GRANDE DO SUL
                case TCodUfIBGE.Pernambuco:                    
                    if (AmbienteNFe != TAmb.Producao)
                    {
                        UrlWs.UrlNfeRecepcao = "https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NfeRecepcao2";
                        UrlWs.UrlNfeRetRecepcao = "https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NfeRetRecepcao2";
                        UrlWs.UrlNfeCancelamento = "https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NfeCancelamento2";
                        UrlWs.UrlNfeInutilizacao = "https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NfeInutilizacao2";
                        UrlWs.UrlNfeConsultaProtocolo = "https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NfeConsulta2";
                        UrlWs.UrlNfeStatusServico = "https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/NfeStatusServico2";
                        UrlWs.UrlNfeConsultaCadastro = "";
                        UrlWs.UrlRecepcaoEvento = "https://nfehomolog.sefaz.pe.gov.br/nfe-service/services/RecepcaoEvento";
                    }
                    else
                    {
                        UrlWs.UrlNfeRecepcao = "https://nfe.sefaz.pe.gov.br/nfe-service/services/NfeRecepcao2";
                        UrlWs.UrlNfeRetRecepcao = "https://nfe.sefaz.pe.gov.br/nfe-service/services/NfeRetRecepcao2";
                        UrlWs.UrlNfeCancelamento = "https://nfe.sefaz.pe.gov.br/nfe-service/services/NfeCancelamento2";
                        UrlWs.UrlNfeInutilizacao = "https://nfe.sefaz.pe.gov.br/nfe-service/services/NfeInutilizacao2";
                        UrlWs.UrlNfeConsultaProtocolo = "https://nfe.sefaz.pe.gov.br/nfe-service/services/NfeInutilizacao2";
                        UrlWs.UrlNfeStatusServico = "https://nfe.sefaz.pe.gov.br/nfe-service/services/NfeStatusServico2";
                        UrlWs.UrlNfeConsultaCadastro = "https://nfe.sefaz.pe.gov.br/nfe-service/services/CadConsultaCadastro2";
                        UrlWs.UrlRecepcaoEvento = "https://nfe.sefaz.pe.gov.br/nfe-service/services/RecepcaoEvento";
                    }
                    break;
                // ERROR: Case labels with binary operators are unsupported : Equality
                //PB USA SEFAZ VIRTUAL DO RIO GRANDE DO SUL
                case TCodUfIBGE.Parana:                    
                    if (AmbienteNFe != TAmb.Producao)
                    {
                        UrlWs.UrlNfeRecepcao = "https://homologacao.nfe2.fazenda.pr.gov.br/nfe/NFeRecepcao2.asmx";
                        UrlWs.UrlNfeRetRecepcao = "https://homologacao.nfe2.fazenda.pr.gov.br/nfe/NFeRetRecepcao2.asmx";
                        UrlWs.UrlNfeCancelamento = "https://homologacao.nfe2.fazenda.pr.gov.br/nfe/NFeCancelamento2.asmx";
                        UrlWs.UrlNfeInutilizacao = "https://homologacao.nfe2.fazenda.pr.gov.br/nfe/NFeInutilizacao2.asmx";
                        UrlWs.UrlNfeConsultaProtocolo = "https://homologacao.nfe2.fazenda.pr.gov.br/nfe/NFeConsulta2.asmx";
                        UrlWs.UrlNfeStatusServico = "https://homologacao.nfe2.fazenda.pr.gov.br/nfe/NFeStatusServico2.asmx";
                        UrlWs.UrlNfeConsultaCadastro = "";
                        UrlWs.UrlRecepcaoEvento = "";
                    }
                    else
                    {
                        UrlWs.UrlNfeRecepcao = "https://nfe2.fazenda.pr.gov.br/nfe/NFeRecepcao2.asmx";
                        UrlWs.UrlNfeRetRecepcao = "https://nfe2.fazenda.pr.gov.br/nfe/NFeRetRecepcao2.asmx";
                        UrlWs.UrlNfeCancelamento = "https://nfe2.fazenda.pr.gov.br/nfe/NFeCancelamento2.asmx";
                        UrlWs.UrlNfeInutilizacao = "https://nfe2.fazenda.pr.gov.br/nfe/NFeInutilizacao2.asmx";
                        UrlWs.UrlNfeConsultaProtocolo = "https://nfe2.fazenda.pr.gov.br/nfe/NFeConsulta2.asmx";
                        UrlWs.UrlNfeStatusServico = "https://nfe2.fazenda.pr.gov.br/nfe/NFeConsulta2.asmx";
                        UrlWs.UrlNfeConsultaCadastro = "";
                        UrlWs.UrlRecepcaoEvento = "";
                    }

                    break;
                case TCodUfIBGE.RioGrandeDoSul:
                    if (AmbienteNFe != TAmb.Producao)
                    {
                        UrlWs.UrlNfeRecepcao = "https://homologacao.nfe.sefaz.rs.gov.br/ws/Nferecepcao/NFeRecepcao2.asmx";
                        UrlWs.UrlNfeRetRecepcao = "https://homologacao.nfe.sefaz.rs.gov.br/ws/nferetrecepcao/NfeRetRecepcao2.asmx";
                        UrlWs.UrlNfeCancelamento = "https://homologacao.nfe.sefaz.rs.gov.br/ws/nfecancelamento/NfeCancelamento2.asmx";
                        UrlWs.UrlNfeInutilizacao = "https://homologacao.nfe.sefaz.rs.gov.br/ws/nfeinutilizacao/NfeInutilizacao2.asmx";
                        UrlWs.UrlNfeConsultaProtocolo = "https://homologacao.nfe.sefaz.rs.gov.br/ws/nfeconsulta/NfeConsulta2.asmx";
                        UrlWs.UrlNfeStatusServico = "https://homologacao.nfe.sefaz.rs.gov.br/ws/nfestatusservico/NfeStatusServico2.asmx";
                        UrlWs.UrlNfeConsultaCadastro = "";
                        UrlWs.UrlRecepcaoEvento = "https://homologacao.nfe.sefaz.rs.gov.br/ws/recepcaoevento/recepcaoevento.asmx";
                    }
                    else
                    {
                        UrlWs.UrlNfeRecepcao = "https://nfe.sefaz.rs.gov.br/ws/Nferecepcao/NFeRecepcao2.asmx";
                        UrlWs.UrlNfeRetRecepcao = "https://nfe.sefaz.rs.gov.br/ws/NfeRetRecepcao/NfeRetRecepcao2.asmx";
                        UrlWs.UrlNfeCancelamento = "https://nfe.sefaz.rs.gov.br/ws/NfeCancelamento/NfeCancelamento2.asmx";
                        UrlWs.UrlNfeInutilizacao = "https://nfe.sefaz.rs.gov.br/ws/nfeinutilizacao/nfeinutilizacao2.asmx";
                        UrlWs.UrlNfeConsultaProtocolo = "https://nfe.sefaz.rs.gov.br/ws/NfeConsulta/NfeConsulta2.asmx";
                        UrlWs.UrlNfeStatusServico = "https://nfe.sefaz.rs.gov.br/ws/NfeStatusServico/NfeStatusServico2.asmx";
                        UrlWs.UrlNfeConsultaCadastro = "https://sef.sefaz.rs.gov.br/ws/cadconsultacadastro/cadconsultacadastro2.asmx";
                        UrlWs.UrlRecepcaoEvento = "https://nfe.sefaz.rs.gov.br/ws/recepcaoevento/recepcaoevento.asmx";
                    }
                    break;
                //SP USA SEFAZ PROPRIO
                case TCodUfIBGE.SaoPaulo:                    
                    if (AmbienteNFe != TAmb.Producao)
                    {
                        UrlWs.UrlNfeRecepcao = "https://homologacao.nfe.fazenda.sp.gov.br/nfeweb/services/NfeRecepcao2.asmx";
                        UrlWs.UrlNfeRetRecepcao = "https://homologacao.nfe.fazenda.sp.gov.br/nfeweb/services/NfeRetRecepcao2.asmx";
                        UrlWs.UrlNfeCancelamento = "https://homologacao.nfe.fazenda.sp.gov.br/nfeweb/services/NfeCancelamento2.asmx";
                        UrlWs.UrlNfeInutilizacao = "https://homologacao.nfe.fazenda.sp.gov.br/nfeweb/services/NfeInutilizacao2.asmx";
                        UrlWs.UrlNfeConsultaProtocolo = "https://homologacao.nfe.fazenda.sp.gov.br/nfeweb/services/NfeConsulta2.asmx";
                        UrlWs.UrlNfeStatusServico = "https://homologacao.nfe.fazenda.sp.gov.br/nfeweb/services/NfeStatusServico2.asmx";
                        UrlWs.UrlNfeConsultaCadastro = "https://homologacao.nfe.fazenda.sp.gov.br/nfeweb/services/CadConsultaCadastro2.asmx";
                        UrlWs.UrlRecepcaoEvento = "https://homologacao.nfe.fazenda.sp.gov.br/eventosWEB/services/RecepcaoEvento.asmx";
                    }
                    else
                    {
                        UrlWs.UrlNfeRecepcao = "https://nfe.fazenda.sp.gov.br/nfeweb/services/nferecepcao2.asmx";
                        UrlWs.UrlNfeRetRecepcao = "https://nfe.fazenda.sp.gov.br/nfeweb/services/nferetrecepcao2.asmx";
                        UrlWs.UrlNfeCancelamento = "https://nfe.fazenda.sp.gov.br/nfeweb/services/nfecancelamento2.asmx";
                        UrlWs.UrlNfeInutilizacao = "https://nfe.fazenda.sp.gov.br/nfeweb/services/nfeinutilizacao2.asmx";
                        UrlWs.UrlNfeConsultaProtocolo = "https://nfe.fazenda.sp.gov.br/nfeweb/services/nfeconsulta2.asmx";
                        UrlWs.UrlNfeStatusServico = "https://nfe.fazenda.sp.gov.br/nfeweb/services/nfestatusservico2.asmx";
                        UrlWs.UrlNfeConsultaCadastro = "https://nfe.fazenda.sp.gov.br/nfeweb/services/cadconsultacadastro2.asmx";
                        UrlWs.UrlRecepcaoEvento = "https://nfe.fazenda.sp.gov.br/eventosWEB/services/RecepcaoEvento.asmx";
                    }
                    break;
            }
            if (AmbienteNFe != TAmb.Producao)
            {
                UrlWs.UrlNfeDownloadNF = "https://hom.nfe.fazenda.gov.br/NfeDownloadNF/NfeDownloadNF.asmx";
            }
            else
            {
                UrlWs.UrlNfeDownloadNF = "https://www.nfe.fazenda.gov.br/NfeDownloadNF/NfeDownloadNF.asmx";
            }
            return UrlWs;
        }