public static XmlDocument CriaXmlRequestWs(this eventoCTe eventoCTe) { var xmlRequest = new XmlDocument(); xmlRequest.LoadXml(eventoCTe.ObterXmlString()); return(xmlRequest); }
/// <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); }
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); }
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); }
/// <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)); }