/// <summary> /// Salva o documento. /// </summary> /// <param name="stream">The stream.</param> /// <param name="options">The options.</param> /// <param name="encoding">The encoding.</param> /// <returns>TDocument.</returns> public virtual void Save(Stream stream, DFeSaveOptions options = DFeSaveOptions.DisableFormatting, Encoding encoding = null) { var serializer = new DFeSerializer <TDocument>(); if (!options.HasFlag(DFeSaveOptions.None)) { serializer.Options.RemoverAcentos = options.HasFlag(DFeSaveOptions.RemoveAccents); serializer.Options.RemoverEspacos = options.HasFlag(DFeSaveOptions.RemoveSpaces); serializer.Options.FormatarXml = !options.HasFlag(DFeSaveOptions.DisableFormatting); serializer.Options.OmitirDeclaracao = options.HasFlag(DFeSaveOptions.OmitDeclaration); } if (encoding != null) { serializer.Options.Encoding = encoding; } serializer.Serialize(this, stream); using (var ms = new MemoryStream()) { stream.CopyTo(ms); stream.Position = 0; using (var reader = new StreamReader(ms, serializer.Options.Encoding)) Xml = reader.ReadToEnd(); } }
private DFeSerializer <T> GetSerializer <T>() where T : class { var serializer = DFeSerializer.CreateSerializer <T>(); serializer.Options.RemoverAcentos = Configuracoes.RemoverAcentos; return(serializer); }
public static CFe Load(Stream stream, Encoding encoding = null) { var serializer = DFeSerializer.CreateSerializer <CFe>(); if (encoding != null) { serializer.Options.Encoder = encoding; } return(serializer.Deserialize(stream)); }
public static SatRede Load(string path, Encoding encoding = null) { var serializer = DFeSerializer.CreateSerializer <SatRede>(); if (encoding != null) { serializer.Options.Encoder = encoding; } return(serializer.Deserialize(path)); }
/// <summary> /// Carrega a assinatura do Xml. /// </summary> /// <param name="element">The element.</param> /// <returns>DFeSignature.</returns> protected DFeSignature LoadSignature(XElement element) { if (element == null) { return(new DFeSignature()); } var serializer = DFeSerializer.CreateSerializer <DFeSignature>(); return(serializer.Deserialize(element.ToString())); }
/// <summary> /// Carrega o documento. /// </summary> /// <param name="document">The document.</param> /// <param name="encoding"></param> /// <returns>TDocument.</returns> public static TDocument Load(Stream document, Encoding encoding = null) { var serializer = new DFeSerializer(typeof(TDocument)); if (encoding != null) { serializer.Options.Encoder = encoding; } return((TDocument)serializer.Deserialize(document)); }
/// <summary> /// Carrega o documento. /// </summary> /// <param name="document">The document.</param> /// <param name="encoding">The encoding.</param> /// <returns>TDocument.</returns> public static TDocument Load(string document, Encoding encoding = null) { var serializer = new DFeSerializer <TDocument>(); if (encoding != null) { serializer.Options.Encoding = encoding; } var content = File.Exists(document) ? File.ReadAllText(document, serializer.Options.Encoding) : document; var ret = serializer.Deserialize(document); (ret as DFeDocument <TDocument>).Xml = content; return(ret); }
/// <summary> /// Retornar o XML da assinatura ou nulo caso não tenha nada. /// </summary> /// <param name="signature">The signature.</param> /// <returns>XElement.</returns> protected XElement WriteSignature(DFeSignature signature) { if (signature.SignatureValue.IsEmpty() || signature.SignedInfo.Reference.DigestValue.IsEmpty() || signature.KeyInfo.X509Data.X509Certificate.IsEmpty()) { return(null); } var ms = new MemoryStream(); var serializer = DFeSerializer.CreateSerializer <DFeSignature>(); if (!serializer.Serialize(signature, ms)) { return(null); } return(XElement.Load(ms)); }
/// <summary> /// Salva o documento. /// </summary> /// <param name="stream">The stream.</param> /// <param name="options">The options.</param> /// <param name="encoding">The encoding.</param> /// <returns>TDocument.</returns> public void Save(Stream stream, DFeSaveOptions options = DFeSaveOptions.None, Encoding encoding = null) { var serializer = new DFeSerializer(typeof(TDocument)); if (!options.HasFlag(DFeSaveOptions.None)) { serializer.Options.RemoverAcentos = options.HasFlag(DFeSaveOptions.RemoveAccents); serializer.Options.FormatarXml = !options.HasFlag(DFeSaveOptions.DisableFormatting); serializer.Options.OmitirDeclaracao = !options.HasFlag(DFeSaveOptions.OmitDeclaration); } if (encoding != null) { serializer.Options.Encoder = encoding; } serializer.Serialize(this, stream); }
/// <summary> /// Carrega o documento. /// </summary> /// <param name="document">The document.</param> /// <param name="encoding"></param> /// <returns>TDocument.</returns> public static TDocument Load(Stream document, Encoding encoding = null) { var serializer = new DFeSerializer <TDocument>(); if (encoding != null) { serializer.Options.Encoding = encoding; } using (var reader = new StreamReader(document, serializer.Options.Encoding)) { document.Position = 0; var content = reader.ReadToEnd(); var ret = serializer.Deserialize(content); (ret as DFeDocument <TDocument>).Xml = content; return(ret); } }
/// <summary> /// Salva o documento. /// </summary> /// <param name="path">The path.</param> /// <param name="options">The options.</param> /// <param name="encoding">The encoding.</param> /// <returns>TDocument.</returns> public virtual void Save(string path, DFeSaveOptions options = DFeSaveOptions.DisableFormatting, Encoding encoding = null) { var serializer = new DFeSerializer <TDocument>(); if (!options.HasFlag(DFeSaveOptions.None)) { serializer.Options.RemoverAcentos = options.HasFlag(DFeSaveOptions.RemoveAccents); serializer.Options.RemoverEspacos = options.HasFlag(DFeSaveOptions.RemoveSpaces); serializer.Options.FormatarXml = !options.HasFlag(DFeSaveOptions.DisableFormatting); serializer.Options.OmitirDeclaracao = options.HasFlag(DFeSaveOptions.OmitDeclaration); } if (encoding != null) { serializer.Options.Encoding = encoding; } serializer.Serialize(this, path); Xml = File.ReadAllText(path, serializer.Options.Encoding); }
/// <summary> /// Loads the c fe. /// </summary> /// <param name="stream">The stream.</param> /// <returns>CFe.</returns> public static CFeCanc Load(Stream stream, Encoding encoding = null) { var serializer = DFeSerializer.CreateSerializer <CFeCanc>(); return(serializer.Deserialize(stream)); }
/// <summary> /// Loads the c fe. /// </summary> /// <param name="path">The path.</param> /// <returns>CFe.</returns> public static CFeCanc Load(string path, Encoding encoding = null) { var serializer = DFeSerializer.CreateSerializer <CFeCanc>(); return(serializer.Deserialize(path)); }