public void WriteXmlSignedThrowsOnMissingPfxFile() { var f = Fattura.CreateInstance(Instance.Privati); Assert.ThrowsException <FatturaElettronicaSignatureException>(() => f.WriteXmlSigned("Samples/notreally.pfx", "idsrv3test", "Samples/IT02182030391_32.xml.p7m")); }
public void ReadXMLSignedFallbacksToBase64Attempt() { var f = Fattura.CreateInstance(Instance.Privati); f.ReadXmlSigned("Samples/IT02182030391_31.Base64.xml.p7m"); Assert.AreEqual("31", f.FatturaElettronicaHeader.DatiTrasmissione.ProgressivoInvio); }
static void Main(string[] args) { var fattura = Fattura.CreateInstance(Instance.Privati); // Lettura diretta da XML (senza necessità di uno stream aperto) fattura.ReadXml("IT02182030391_32.xml"); // Firma digitale del file xml con file pfx fattura.WriteXmlSigned("idsrv3test.pfx", "idsrv3test", "IT02182030391_32.xml.pm7"); // Legge file con firma digitale fattura.ReadXmlSigned("IT02182030391_31.xml.p7m"); // Scrive direttamente su XML (senza necessità passare uno stream) fattura.WriteXml("Copia di IT02182030391_31.xml"); // Serializza fattura in JSON. var json = fattura.ToJson(); var copia = Fattura.CreateInstance(Instance.Privati); // Deserializza da JSON copia.FromJson(json); // Le due fatture sono uguali. Console.WriteLine($"{fattura.FatturaElettronicaHeader.DatiTrasmissione.CodiceDestinatario}"); Console.WriteLine($"{copia.FatturaElettronicaHeader.DatiTrasmissione.CodiceDestinatario}"); GetNextFileName(); }
public void ReadSignedFile() { var f = Fattura.CreateInstance(Instance.Privati); f.ReadXmlSigned("Samples/IT02182030391_31.xml.p7m"); Assert.AreEqual("31", f.Header.DatiTrasmissione.ProgressivoInvio); }
public void ReadXMLStream() { var f = Fattura.CreateInstance(Instance.Privati); f.ReadXml(File.OpenRead("Samples/IT02182030391_32.xml")); Assert.AreEqual("32", f.FatturaElettronicaHeader.DatiTrasmissione.ProgressivoInvio); }
private void button1_Click(object sender, EventArgs e) { var f = Fattura.CreateInstance(Instance.PubblicaAmministrazione); var form = new FatturaElettronicaForm(); form.FatturaElettronica = f; form.ShowDialog(); }
private Fattura Deserialize(byte[] b) { var f = Fattura.CreateInstance(Instance.Privati); f.ReadXml(b); return(f); }
public void ReadXMLSignedBase64ValidateSignatureDisabled() { // TODO: ideally we'd need a .p7m with an invalid signature in order // to properly test this. var f = Fattura.CreateInstance(Instance.Privati); f.ReadXmlSignedBase64("Samples/IT02182030391_31.Base64.xml.p7m", validateSignature: false); Assert.AreEqual("31", f.FatturaElettronicaHeader.DatiTrasmissione.ProgressivoInvio); }
public void WriteXmlSigned() { if (File.Exists("Samples/IT02182030391_32.xml.p7m")) { File.Delete("Samples/IT02182030391_32.xml.p7m"); } var f = Fattura.CreateInstance(Instance.Privati); f.WriteXmlSigned("Samples/idsrv3test.pfx", "idsrv3test", "Samples/IT02182030391_32.xml.p7m"); Assert.IsTrue(File.Exists("Samples/IT02182030391_32.xml.p7m")); }
private void button1_Click(object sender, EventArgs e) { var f = Fattura.CreateInstance(Instance.Privati); f.FatturaElettronicaHeader.DatiTrasmissione.CodiceDestinatario = "1234567"; f.FatturaElettronicaHeader.DatiTrasmissione.PECDestinatario = "pec"; var form = new FatturaElettronicaForm(); form.FatturaElettronica = f; form.ShowDialog(); }
public void NomeCognomeIsIgnored() { var f = Fattura.CreateInstance(Instance.Privati); var anagrafica = f.FatturaElettronicaHeader.CedentePrestatore.DatiAnagrafici.Anagrafica; anagrafica.Nome = "nome"; var json = f.FatturaElettronicaHeader.CedentePrestatore.DatiAnagrafici.Anagrafica.ToJson(); Assert.AreEqual("nome", anagrafica.CognomeNome); Assert.IsFalse(json.Contains("CognomeNome")); }
public void FromJson() { var f = Fattura.CreateInstance(Instance.Privati); f.ReadXml("Samples/IT02182030391_32.xml"); Assert.AreEqual("32", f.FatturaElettronicaHeader.DatiTrasmissione.ProgressivoInvio); var json = f.ToJson(); var challenge = Fattura.CreateInstance(Instance.Privati); challenge.FromJson(json); Assert.AreEqual("32", challenge.FatturaElettronicaHeader.DatiTrasmissione.ProgressivoInvio); }
public void DeserializeAndThenSerializeOfficialPRSample() { var f = Deserialize("Samples/IT01234567890_FPR02.xml"); Assert.IsTrue(f.Validate().IsValid); var json = f.ToJson(); var challenge = Fattura.CreateInstance(Instance.Privati); challenge.FromJson(new JsonTextReader(new StringReader(json))); Assert.IsTrue(challenge.Validate().IsValid); }
private Fattura Deserialize(string fileName) { var f = Fattura.CreateInstance(Instance.Privati); var s = new XmlReaderSettings { IgnoreWhitespace = true }; using (var r = XmlReader.Create(fileName, new XmlReaderSettings { IgnoreWhitespace = true })) { f.ReadXml(r); } return(f); }
static void Main(string[] args) { var fattura = Fattura.CreateInstance(Instance.Privati); fattura.ReadXmlSigned("IT02182030391_31.xml.p7m"); var ragioneSociale = fattura.Header.CedentePrestatore.DatiAnagrafici.Anagrafica.Denominazione; Console.WriteLine($"Cedente/Prestatore: {ragioneSociale}"); foreach (var documento in fattura.Body) { var datiDocumento = documento.DatiGenerali.DatiGeneraliDocumento; Console.WriteLine($"fattura num. {datiDocumento.Numero} del {datiDocumento.Data}"); } }
public void WriteXML() { var f = Fattura.CreateInstance(Instance.Privati); f.FatturaElettronicaHeader.DatiTrasmissione.ProgressivoInvio = "99"; string outFile = Path.GetTempFileName(); f.WriteXml(outFile); var challenge = Fattura.CreateInstance(Instance.Privati); using (var r = XmlReader.Create(outFile, new XmlReaderSettings { IgnoreWhitespace = true, IgnoreComments = true })) { challenge.ReadXml(r); } Assert.AreEqual("99", f.FatturaElettronicaHeader.DatiTrasmissione.ProgressivoInvio); }
static void Main(string[] args) { var fattura = Fattura.CreateInstance(Instance.Privati); // Lettura diretta da XML (senza necessità di uno stream aperto) fattura.ReadXml("IT02182030391_32.xml"); // Lettura da stream fattura.ReadXml(File.OpenRead("IT02182030391_32.xml")); // Firma digitale del file xml con file pfx fattura.WriteXmlSigned("idsrv3test.pfx", "idsrv3test", "IT02182030391_32.xml.pm7"); // Legge file con firma digitale. Solleva eccezione se firma invalida. fattura.ReadXmlSigned("IT02182030391_31.xml.p7m"); // Legge file con firma digitale evitando di convalidarne la firma fattura.ReadXmlSigned("IT02182030391_31.xml.p7m", validateSignature: false); // Scrive direttamente su XML (senza necessità passare uno stream) fattura.WriteXml("Copia di IT02182030391_31.xml"); // Crea HTML della fattura. Usa foglio di stile PA // (https://www.fatturapa.gov.it/export/fatturazione/sdi/fatturapa/v1.2.1/fatturaPA_v1.2.1.xsl) fattura.WriteHtml("fattura.htm", "fatturaPA_v1.2.1.xsl"); // Serializza fattura in JSON. var json = fattura.ToJson(); var copia = Fattura.CreateInstance(Instance.Privati); // Deserializza da JSON copia.FromJson(json); // Le due fatture sono uguali. Console.WriteLine($"{fattura.FatturaElettronicaHeader.DatiTrasmissione.CodiceDestinatario}"); Console.WriteLine($"{copia.FatturaElettronicaHeader.DatiTrasmissione.CodiceDestinatario}"); GetNextFileName(); }
public void NonSignedFileThrowsException() { var f = Fattura.CreateInstance(Instance.Privati); Assert.ThrowsException <CmsException>(() => f.ReadXmlSigned("Samples/IT02182030391_32.xml")); }
public void ReadXMLSignedBase64ThrowsOnNonSignedFile() { var f = Fattura.CreateInstance(Instance.Privati); Assert.ThrowsException <FormatException>(() => f.ReadXmlSigned("Samples/IT02182030391_32.xml")); }