internal static IEnumerable<Dokument> GetVedlegg(int antall = 5) { var vedleggTxt0 = new Dokument("Vedlegg", ResourceUtility.ReadAllBytes(true, "vedlegg", "Vedlegg.txt"), "text/plain"); var vedleggDocx = new Dokument("Vedleggsgris", ResourceUtility.ReadAllBytes(true, "vedlegg", "VedleggsGris.docx"), "application/vnd.openxmlformats-officedocument.wordprocessingml.document"); var vedleggPdf = new Dokument("Vedleggshjelm", ResourceUtility.ReadAllBytes(true, "vedlegg", "VedleggsHjelm.pdf"), "application/pdf"); var vedleggTxt1 = new Dokument("Vedlegg", ResourceUtility.ReadAllBytes(true, "vedlegg", "Vedlegg.txt"), "text/plain"); var vedleggTxt2 = new Dokument("Vedlegg", ResourceUtility.ReadAllBytes(true, "vedlegg", "Vedlegg.txt"), "text/plain"); var vedlegg = new[] {vedleggTxt0, vedleggDocx, vedleggPdf, vedleggTxt1, vedleggTxt2}; if (antall <= 5) { return vedlegg.Take(antall); } else { var vedleggbatch = new List<Dokument>(); for (var i = 0; i < antall; i++) { var element = vedlegg.ElementAt(i % vedlegg.Length); vedleggbatch.Add(new Dokument(element.Tittel, element.Bytes, element.MimeType, "NO", $"{i}-{element.Filnavn}")); } return vedleggbatch; } }
public void OppretteForsendelse() { var hoveddokument = new Dokument( tittel: "Dokumenttittel", dokumentsti: "/Dokumenter/Hoveddokument.pdf", mimeType: "application/pdf", språkkode: "NO", filnavn: "filnavn" ); var dokumentpakke = new Dokumentpakke(hoveddokument); var vedleggssti = "/Dokumenter/Vedlegg.pdf"; var vedlegg = new Dokument( tittel: "tittel", dokumentsti: vedleggssti, mimeType: "application/pdf", språkkode: "NO", filnavn: "filnavn"); dokumentpakke.LeggTilVedlegg(vedlegg); Avsender avsender = null; //Som initiert tidligere PostInfo postInfo = null; //Som initiert tidligere var forsendelse = new Forsendelse(avsender,postInfo,dokumentpakke); }
public void VedleggTittelSkalSettesIManifestet() { //Arrange var resourceUtility = new ResourceUtility("Difi.SikkerDigitalPost.Klient.Tester.testdata"); var dokument = new Dokument("hoved", resourceUtility.ReadAllBytes(true, "hoveddokument", "Hoveddokument.pdf"), "application/pdf"); var vedleggTittel = "tittel"; var vedlegg = new Dokument(vedleggTittel, resourceUtility.ReadAllBytes(true, "hoveddokument", "Hoveddokument.pdf"), "application/pdf"); var dokumentPakke = new Dokumentpakke(dokument); dokumentPakke.LeggTilVedlegg(vedlegg); var message = new Forsendelse(DomainUtility.GetAvsender(), DomainUtility.GetDigitalPostInfoSimple(), dokumentPakke, Prioritet.Normal, Guid.NewGuid().ToString()); var asiceArkiv = DomainUtility.GetAsiceArchive(message); var manifestXml = new Manifest(message).Xml(); var namespaceManager = new XmlNamespaceManager(manifestXml.NameTable); namespaceManager.AddNamespace("ns9", NavneromUtility.DifiSdpSchema10); namespaceManager.AddNamespace("ds", NavneromUtility.XmlDsig); //Act //Assert var vedleggNodeInnerText = manifestXml.DocumentElement.SelectSingleNode("//ns9:vedlegg", namespaceManager).InnerText; Assert.Equal(vedleggTittel, vedleggNodeInnerText); }
/// <param name="hoveddokument">Dokumentpakkens hoveddokument</param> public Dokumentpakke(Dokument hoveddokument) { if (hoveddokument.Bytes.Length == 0) { throw new KonfigurasjonsException("Du prøver å legge til et hoveddokument som er tomt. Dette er ikke tillatt."); } _vedlegg = new List<Dokument>(); Hoveddokument = hoveddokument; Hoveddokument.Id = "Id_2"; }
public void SuccessfullySetsLanguageOnDocumentsWithNoLanguageCodeFromMessage() { //Arrange var sender = DomainUtility.GetAvsender(); var simpleDigitalPostInfo = DomainUtility.GetDigitalPostInfoSimple(); string undefinedLanguageCode = null; var primaryDocument = new Dokument("Tiitle", new byte[3], "application/pdf", undefinedLanguageCode); var documentBundle = new Dokumentpakke(primaryDocument); var definedLanguageCode = "en"; documentBundle.LeggTilVedlegg(new Dokument("Appendix", new byte[2], "application/pdf", definedLanguageCode)); var messageLanguageCode = "no"; //Act var forsendelse = new Forsendelse(sender, simpleDigitalPostInfo, documentBundle, Prioritet.Normal, "mpcId", messageLanguageCode); //Assert Assert.Equal(messageLanguageCode, documentBundle.Hoveddokument.Språkkode); Assert.Equal(definedLanguageCode, documentBundle.Vedlegg.First().Språkkode); }
private XmlElement DokumentNode(Dokument dokument, string elementnavn, string innholdstekst) { var dokumentXml = _manifestXml.CreateElement(elementnavn, NavneromUtility.DifiSdpSchema10); dokumentXml.SetAttribute("href", dokument.FilnavnRådata); dokumentXml.SetAttribute("mime", dokument.MimeType); { var tittel = dokumentXml.AppendChildElement("tittel", NavneromUtility.DifiSdpSchema10, _manifestXml); tittel.SetAttribute("lang", dokument.Språkkode ?? Forsendelse.Språkkode); tittel.InnerText = innholdstekst; } return dokumentXml; }
internal static IEnumerable<Dokument> GetVedlegg(int maksAntall = 5) { if (_vedlegg != null) { return _vedlegg; } var vedleggTxt0 = new Dokument("Vedlegg", ResourceUtility.ReadAllBytes(true, "vedlegg","Vedlegg.txt"), "text/plain"); var vedleggDocx = new Dokument("Vedleggsgris", ResourceUtility.ReadAllBytes(true, "vedlegg", "VedleggsGris.docx"), "application/vnd.openxmlformats-officedocument.wordprocessingml.document"); var vedleggPdf = new Dokument("Vedleggshjelm", ResourceUtility.ReadAllBytes(true, "vedlegg", "VedleggsHjelm.pdf"), "application/pdf"); var vedleggTxt1 = new Dokument("Vedlegg", ResourceUtility.ReadAllBytes(true, "vedlegg", "Vedlegg.txt"), "text/plain"); var vedleggTxt2 = new Dokument("Vedlegg", ResourceUtility.ReadAllBytes(true, "vedlegg", "Vedlegg.txt"), "text/plain"); _vedlegg = new[] { vedleggTxt0, vedleggDocx, vedleggPdf, vedleggTxt1, vedleggTxt2 }; return _vedlegg.Take(maksAntall); }
internal static Dokument GetHoveddokumentEnkel() { if (_hoveddokument != null) { return _hoveddokument; } return _hoveddokument = new Dokument("Hoveddokument", ResourceUtility.ReadAllBytes(true, "hoveddokument", "Hoveddokument.pdf"), "application/pdf"); }
private static IEnumerable<IAsiceAttachable> Referanser(Dokument hoveddokument, IEnumerable<IAsiceAttachable> vedlegg, Manifest manifest) { var referanser = new List<IAsiceAttachable> {hoveddokument}; referanser.AddRange(vedlegg); referanser.Add(manifest); return referanser; }
internal static Dokument GetHoveddokumentEnkel() { if (_hoveddokument != null) { return _hoveddokument; } var hoveddokumentMappe = "hoveddokument"; var hoveddokument = ResourceUtility.GetFiles(hoveddokumentMappe).ElementAt(0); var bytes = ResourceUtility.ReadAllBytes(false, hoveddokument); var fileName = ResourceUtility.GetFileName(hoveddokument); return _hoveddokument = new Dokument("Hoveddokument", bytes, "text/xml", "NO", fileName); }