Ejemplo n.º 1
0
        public static XmlDocument CriaXmlRequestWs(this eventoCTe eventoCTe)
        {
            var xmlRequest = new XmlDocument();

            xmlRequest.LoadXml(eventoCTe.ObterXmlString());

            return(xmlRequest);
        }
Ejemplo n.º 2
0
        /// <summary>
        ///     Assina um objeto evento
        /// </summary>
        /// <param name="eventoCTe"></param>
        /// <returns>Retorna um objeto do tipo evento assinado</returns>
        public static void Assina(this eventoCTe eventoCTe)
        {
            if (eventoCTe.infEvento.Id == null)
            {
                throw new Exception("Não é possível assinar um objeto evento sem sua respectiva Id!");
            }

            eventoCTe.Signature = AssinaturaDigital.Assina(eventoCTe, eventoCTe.infEvento.Id,
                                                           ConfiguracaoServico.Instancia.X509Certificate2);
        }
Ejemplo n.º 3
0
        public static void SalvarXmlEmDisco(this eventoCTe eventoCTe)
        {
            var instanciaServico = ConfiguracaoServico.Instancia;

            if (instanciaServico.NaoSalvarXml())
            {
                return;
            }

            var caminhoXml = instanciaServico.DiretorioSalvarXml;

            var arquivoSalvar = Path.Combine(caminhoXml, eventoCTe.infEvento.chCTe + "-ped-eve.xml");

            FuncoesXml.ClasseParaArquivoXml(eventoCTe, arquivoSalvar);
        }
Ejemplo n.º 4
0
        public static void ValidarSchema(this eventoCTe eventoCTe)
        {
            var xmlEvento = eventoCTe.ObterXmlString();

            switch (eventoCTe.versao)
            {
            case versao.ve200:
                Validador.Valida(xmlEvento, "eventoCTe_v2.00.xsd");
                break;

            case versao.ve300:
                Validador.Valida(xmlEvento, "eventoCTe_v3.00.xsd");
                break;

            default:
                throw new InvalidOperationException("Nos achamos um erro na hora de validar o schema, " +
                                                    "a versão está inválida, somente é permitido " +
                                                    "versão 2.00 é 3.00");
            }

            ValidarSchemaEventoContainer(eventoCTe.infEvento.detEvento.EventoContainer, eventoCTe.versao);
        }
Ejemplo n.º 5
0
 /// <summary>
 ///     Converte o objeto evento para uma string no formato XML
 /// </summary>
 /// <param name="pedEventoCTe"></param>
 /// <returns>Retorna uma string no formato XML com os dados do objeto evento</returns>
 public static string ObterXmlString(this eventoCTe pedEventoCTe)
 {
     return(FuncoesXml.ClasseParaXmlString(pedEventoCTe));
 }