public static string[] RetornaListaCertificados(TipoDoCertificado tipoCertificado)
        {
            string   listaCertificados;
            IspdNFeX _spdNFeX2 = new spdNFeX();

            _spdNFeX2.ConfigurarSoftwareHouse("09813496000197", "");


            switch (tipoCertificado)
            {
            case TipoDoCertificado.ckFile:
                _spdNFeX2.TipoCertificado = TipoCertificado.ckFile;
                break;

            case TipoDoCertificado.ckSmartCard:
                _spdNFeX2.TipoCertificado = TipoCertificado.ckSmartCard;
                break;

            case TipoDoCertificado.ckLocalMachine:
                _spdNFeX2.TipoCertificado = TipoCertificado.ckLocalMashine;
                break;

            case TipoDoCertificado.ckActiveDirectory:
                _spdNFeX2.TipoCertificado = TipoCertificado.ckActiveDirectory;
                break;

            case TipoDoCertificado.ckMemory:
                _spdNFeX2.TipoCertificado = TipoCertificado.ckMemory;
                break;

            default:
                break;
            }


            listaCertificados = _spdNFeX2.ListarCertificados("|");
            if (String.IsNullOrEmpty(listaCertificados))
            {
                return new String[1] {
                           "NÃO FOI POSSÍVEL CAPTURAR NENHUM CERTIFICADO"
                }
            }
            ;
            else
            {
                return(listaCertificados.Split('|'));
            }
        }
Ejemplo n.º 2
0
        public static IspdNFeDPECX Build(TipoEmissao _tipoServidor, cwkAmbiente _ambiente, TipoDoCertificado _tipoCertificado, string diretorioPadrao)
        {
            TipoCertificado tipo;

            switch (_tipoCertificado)
            {
            case TipoDoCertificado.ckFile: tipo = TipoCertificado.ckFile; break;

            case TipoDoCertificado.ckSmartCard: tipo = TipoCertificado.ckSmartCard; break;

            case TipoDoCertificado.ckMemory: tipo = TipoCertificado.ckMemory; break;

            case TipoDoCertificado.ckLocalMachine: tipo = TipoCertificado.ckLocalMashine; break;

            case TipoDoCertificado.ckActiveDirectory: tipo = TipoCertificado.ckActiveDirectory; break;

            default:
                tipo = TipoCertificado.ckFile;
                break;
            }
            try
            {
                IspdNFeDPECX spdNFeDPECX = BuildNormal(_ambiente, diretorioPadrao);
                spdNFeDPECX.TipoCertificado = tipo;
                return(spdNFeDPECX);
            }
            catch (Exception)
            {
                return(null);
            }

            // Código legado -- retirada dos métodos relacionados à SCAN, em favor do SVCAN/SVCRS (Ticket #2875)
            //switch (_tipoServidor)
            //{
            //    case TipoEmissao.Normal: spdNFeX = BuildNormal(_ambiente, diretorioPadrao); spdNFeX.TipoCertificado = tipo; return spdNFeX;
            //    case TipoEmissao.SCAN: spdNFeX = BuildSCAN(_ambiente); spdNFeX.TipoCertificado = tipo; return spdNFeX;
            //}
        }
        /// <summary>
        /// Monta a Configuração por ZEUS
        /// </summary>
        /// <returns></returns>
        public void MontaConfiguracoesZeus()
        {
            _configuracoes.CfgServico.Certificado          = Funcoes.RetornaCertificado(TipoDoCertificado.ToString(), Nota.Empresa);
            _configuracoes.CfgServico.cUF                  = Funcoes.RetornaUF(Nota.Empresa.UF);
            _configuracoes.CfgServico.tpAmb                = Funcoes.RetornaTipoAmbiente(((int)CwkAmbiente));
            _configuracoes.CfgServico.tpEmis               = FormaEmissao;
            _configuracoes.CfgServico.ProtocoloDeSeguranca = SecurityProtocolType.Tls12; //Tls12 - Protocolo atual utilizado pela sefaz 4.00

            if (_configuracoes.CfgServico.tpAmb != TipoAmbiente.Producao)
            {
                _configuracoes.CfgServico.DiretorioSalvarXml = DiretorioPadrao + "\\LogHom";
                DiretorioXML = DiretorioPadrao + "\\XmlDestinatarioHom";
            }
            else
            {
                _configuracoes.CfgServico.DiretorioSalvarXml = DiretorioPadrao + "\\Log";
                DiretorioXML = DiretorioPadrao + "\\XmlDestinatario";
            }

            //Configuração CSC/Token
            _configuracoes.ConfiguracaoCsc.CIdToken = Nota.Empresa.CIdToken;
            _configuracoes.ConfiguracaoCsc.Csc      = Nota.Empresa.Csc;

            //Configuração DanfeNFc-e
            _configuracoes.ConfiguracaoDanfeNfce.VersaoQrCode = Funcoes.RetornaVersaoQrCode(Nota.Empresa.QrCode);
        }
 private void SetSpdNFeX(TipoEmissao _tipoServidor, TipoDoCertificado _tipoCertificado)
 {
     SpdNFeX = ((spdNFeX)FactoryIspdNFeX.Build(_tipoServidor, CwkAmbiente, _tipoCertificado, DiretorioPadrao));
 }
 public INotaFiscalEletronica(TipoEmissao _tipoServidor, cwkAmbiente _ambiente, TipoDoCertificado _tipoCertificado, string _diretorioPadrao)
 {
     CwkAmbiente = _ambiente;
     SetDiretorioPadrao(_diretorioPadrao);
     SetSpdNFeX(_tipoServidor, _tipoCertificado);
     _configuracoes = new ConfiguracaoApp();
 }
        public static INotaFiscalEletronica NotaFiscalEletronicaFactory(VersaoXML _versaoXml, TipoEmissao _tipoServidor, cwkAmbiente _ambiente, TipoDoCertificado _tipoCertificado
                                                                        , string diretorioPadrao, Int16 indFinal, IndPres indPres, bool bDevolucao, int modeloDocumento, int componenteDfe, ConfiguracaoManager configManager = null)
        {
            INotaFiscalEletronica retorno;

            if (modeloDocumento == 55)
            {
                switch (_versaoXml)
                {
                case VersaoXML.v3:
                    retorno = new NotaFiscalEletronica30(_tipoServidor, _ambiente, _tipoCertificado, diretorioPadrao);
                    break;

                case VersaoXML.v4:
                    retorno = new NotaFiscalEletronica40(_tipoServidor, _ambiente, _tipoCertificado, diretorioPadrao);
                    break;

                case VersaoXML.v5a:
                    retorno = new NotaFiscalEletronica50a(_tipoServidor, _ambiente, _tipoCertificado, diretorioPadrao, indFinal, indPres, bDevolucao);
                    break;

                case VersaoXML.v6:
                    if (componenteDfe == 0)     //0 = Tecnospeed / 1 = Zeus Automação
                    {
                        retorno = new NotaFiscalEletronica60(_tipoServidor, _ambiente, _tipoCertificado, diretorioPadrao, indFinal, indPres, bDevolucao);
                    }
                    else
                    {
                        retorno = new NotaFiscalEletronicaZeus60(_tipoServidor, _ambiente, _tipoCertificado, diretorioPadrao, indFinal, indPres, bDevolucao);
                    }

                    break;

                default:
                    throw new Exception("Versão do XML " + _versaoXml + " não implementado para a NF-e");
                    //return null;
                }
            }
            else
            {
                switch (_versaoXml)
                {
                case VersaoXML.v5a:
                    retorno = new NotaFiscalEletronicaConsumidor50a(_tipoServidor, _ambiente, _tipoCertificado, diretorioPadrao, indFinal, indPres, bDevolucao, configManager);
                    break;

                case VersaoXML.v6:
                    if (componenteDfe == 0)     //0 = Tecnospeed / 1 = Zeus Automação
                    {
                        retorno = new NotaFiscalEletronicaConsumidor60(_tipoServidor, _ambiente, _tipoCertificado, diretorioPadrao, indFinal, indPres, bDevolucao, configManager);
                    }
                    else
                    {
                        retorno = new NotaFiscalEletronicaConsumidorZeus60(_tipoServidor, _ambiente, _tipoCertificado, diretorioPadrao, indFinal, indPres, bDevolucao);
                    }
                    break;

                default:
                    throw new Exception("Versão do XML " + _versaoXml + "não implementado para a NFC-e");
                }
            }

            retorno.FormaEmissao      = _tipoServidor;
            retorno.TipoDoCertificado = _tipoCertificado;
            return(retorno);
        }
 public static INotaFiscalEletronica NotaFiscalEletronicaFactory(VersaoXML _versaoXml, TipoEmissao _tipoServidor, cwkAmbiente _ambiente, TipoDoCertificado _tipoCertificado
                                                                 , string diretorioPadrao, Int16 indFinal, IndPres indPres, bool bDevolucao, int modeloDocumento = 55, int componenteDfe = 1)
 {
     return(NotaFiscalEletronicaFactory(_versaoXml, _tipoServidor, _ambiente, _tipoCertificado, diretorioPadrao, indFinal, indPres, bDevolucao, modeloDocumento, componenteDfe, new ConfiguracaoManager()));
 }
 public NotaFiscalEletronica30(TipoEmissao _tipoServidor, cwkAmbiente _ambiente, TipoDoCertificado _tipoCertificado, string _diretorioPadrao)
     : base(_tipoServidor, _ambiente, _tipoCertificado, _diretorioPadrao)
 {
 }