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);
            }
        public AsicEArkiv(Forsendelse forsendelse, GuidUtility guidHandler, X509Certificate2 avsenderSertifikat)
        {
            Manifest = new Manifest(forsendelse);
            Signatur = new Signatur(forsendelse, Manifest, avsenderSertifikat);

            _forsendelse = forsendelse;
            _dokumentpakke = _forsendelse.Dokumentpakke;
            _guidHandler = guidHandler;
        }
 public Forsendelse(Behandlingsansvarlig avsender, PostInfo postInfo,
     Dokumentpakke dokumentpakke, Prioritet prioritet = Prioritet.Normal, string mpcId = "", string språkkode = "NO")
 {
     Avsender = new Avsender(avsender.Organisasjonsnummer);
     PostInfo = postInfo;
     Dokumentpakke = dokumentpakke;
     Prioritet = prioritet;
     Språkkode = språkkode;
     MpcId = mpcId;
 }
Exemplo n.º 5
0
 /// <param name="avsender">
 ///     Ansvarlig avsender av forsendelsen. Dette vil i de aller fleste tilfeller være den offentlige
 ///     virksomheten som er ansvarlig for brevet som skal sendes.
 /// </param>
 /// <param name="postInfo">Informasjon som brukes av postkasseleverandør for å behandle den digitale posten.</param>
 /// <param name="dokumentpakke">Pakke med hoveddokument og ev. vedlegg som skal sendes.</param>
 /// <param name="konversasjonsId">
 ///     Sett en eksplisitt konversasjonsid. Dette er id som kan brukes for spore alle ledd i
 ///     opprettelse av et brev, og vil være i svar fra Meldingsformidler.
 /// </param>
 /// <param name="prioritet">Setter forsendelsens prioritet. Standard er Prioritet.Normal</param>
 /// <param name="språkkode">
 ///     Språkkode i henhold til ISO-639-1 (2 bokstaver). Brukes til å informere postkassen om hvilket
 ///     språk som benyttes, slik at varselet om mulig kan vises i riktig kontekst. Standard er NO.
 /// </param>
 /// <param name="mpcId">
 ///     Brukes til å skille mellom ulike kvitteringskøer for samme tekniske avsender. En forsendelse gjort
 ///     med en MPC Id vil kun dukke opp i kvitteringskøen med samme MPC Id. Standardverdi er "".
 /// </param>
 public Forsendelse(Avsender avsender, PostInfo postInfo, Dokumentpakke dokumentpakke, Guid konversasjonsId, Prioritet prioritet = Prioritet.Normal, string mpcId = "", string språkkode = "NO")
 {
     Avsender        = avsender;
     PostInfo        = postInfo;
     Dokumentpakke   = dokumentpakke;
     Prioritet       = prioritet;
     Språkkode       = språkkode;
     MpcId           = mpcId;
     KonversasjonsId = konversasjonsId;
 }
Exemplo n.º 6
0
 public Forsendelse(Behandlingsansvarlig avsender, PostInfo postInfo,
                    Dokumentpakke dokumentpakke, Prioritet prioritet = Prioritet.Normal, string mpcId = "", string språkkode = "NO")
 {
     Avsender      = new Avsender(avsender.Organisasjonsnummer);
     PostInfo      = postInfo;
     Dokumentpakke = dokumentpakke;
     Prioritet     = prioritet;
     Språkkode     = språkkode;
     MpcId         = mpcId;
 }
 /// <param name="avsender">Ansvarlig avsender av forsendelsen. Dette vil i de aller fleste tilfeller være den offentlige virksomheten som er ansvarlig for brevet som skal sendes.</param>
 /// <param name="postInfo">Informasjon som brukes av postkasseleverandør for å behandle den digitale posten.</param>
 /// <param name="dokumentpakke">Pakke med hoveddokument og ev. vedlegg som skal sendes.</param>
 /// <param name="prioritet">Setter forsendelsens prioritet. Standard er Prioritet.Normal</param>
 /// <param name="språkkode">Språkkode i henhold til ISO-639-1 (2 bokstaver). Brukes til å informere postkassen om hvilket språk som benyttes, slik at varselet om mulig kan vises i riktig kontekst. Standard er NO.</param>
 /// <param name="mpcId">Brukes til å skille mellom ulike kvitteringskøer for samme tekniske avsender. En forsendelse gjort med en MPC Id vil kun dukke opp i kvitteringskøen med samme MPC Id. Standardverdi er "".</param>
 public Forsendelse(Avsender avsender, PostInfo postInfo,
     Dokumentpakke dokumentpakke, Prioritet prioritet = Prioritet.Normal, string mpcId = "", string språkkode = "NO")
 {
     Avsender = avsender;
     PostInfo = postInfo;
     Dokumentpakke = dokumentpakke;
     Prioritet = prioritet;
     Språkkode = språkkode;
     MpcId = mpcId;
 }
Exemplo n.º 8
0
        /// <param name="avsender">
        ///     Ansvarlig avsender av forsendelsen. Dette vil i de aller fleste tilfeller være den offentlige
        ///     virksomheten som er ansvarlig for brevet som skal sendes.
        /// </param>
        /// <param name="postInfo">Informasjon som brukes av postkasseleverandør for å behandle den digitale posten.</param>
        /// <param name="dokumentpakke">Pakke med hoveddokument og ev. vedlegg som skal sendes.</param>
        /// <param name="konversasjonsId">
        ///     Sett en eksplisitt konversasjonsid. Dette er id som kan brukes for spore alle ledd i
        ///     opprettelse av et brev, og vil være i svar fra Meldingsformidler.
        /// </param>
        /// <param name="prioritet">Setter forsendelsens prioritet. Standard er Prioritet.Normal</param>
        /// <param name="språkkode">
        ///     Språkkode i henhold til ISO-639-1 (2 bokstaver). Brukes til å informere postkassen om hvilket
        ///     språk som benyttes, slik at varselet om mulig kan vises i riktig kontekst. Standard er NO.
        /// </param>
        /// <param name="mpcId">
        ///     Brukes til å skille mellom ulike kvitteringskøer for samme tekniske avsender. En forsendelse gjort
        ///     med en MPC Id vil kun dukke opp i kvitteringskøen med samme MPC Id. Standardverdi er "".
        /// </param>
        public Forsendelse(Avsender avsender, PostInfo postInfo, Dokumentpakke dokumentpakke, Guid konversasjonsId, Prioritet prioritet = Prioritet.Normal, string mpcId = "", string språkkode = "NO")
        {
            Avsender        = avsender;
            PostInfo        = postInfo;
            Dokumentpakke   = dokumentpakke;
            Prioritet       = prioritet;
            Språkkode       = språkkode;
            MpcId           = mpcId;
            KonversasjonsId = konversasjonsId;

            MottakerPersonIdentifikator = postInfo is FysiskPostInfo fysiskPostInfo ? fysiskPostInfo.Personidentifikator : (PostInfo.Mottaker as DigitalPostMottaker).Personidentifikator;
        }
            public void ThrowsExceptionOnInvalidManifest()
            {
                //Arrange
                const string invalidFileNameNotFourCharacters = "T";
                var asiceConfiguration = new Klientkonfigurasjon(Miljø.FunksjoneltTestmiljø);
                var dokumentpakkeUtenVedlegg = new Dokumentpakke(new Dokument("", new byte[3], "application/pdf", "nb", invalidFileNameNotFourCharacters));
                var forsendelse = new Forsendelse(new Avsender("123456789"), DomainUtility.GetDigitalPostInfoSimple(), dokumentpakkeUtenVedlegg, Guid.NewGuid());

                //Act
                Assert.Throws<XmlValidationException>(() =>
                    AsiceGenerator.Create(forsendelse, new GuidUtility(), DomainUtility.GetAvsenderCertificate(), asiceConfiguration)
                    );
            }
            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);
            }
Exemplo n.º 11
0
 /// <param name="avsender">
 ///     Ansvarlig avsender av forsendelsen. Dette vil i de aller fleste tilfeller være den offentlige
 ///     virksomheten som er ansvarlig for brevet som skal sendes.
 /// </param>
 /// <param name="postInfo">Informasjon som brukes av postkasseleverandør for å behandle den digitale posten.</param>
 /// <param name="dokumentpakke">Pakke med hoveddokument og ev. vedlegg som skal sendes.</param>
 /// <param name="prioritet">Setter forsendelsens prioritet. Standard er Prioritet.Normal</param>
 /// <param name="språkkode">
 ///     Språkkode i henhold til ISO-639-1 (2 bokstaver). Brukes til å informere postkassen om hvilket
 ///     språk som benyttes, slik at varselet om mulig kan vises i riktig kontekst. Standard er NO.
 /// </param>
 /// <param name="mpcId">
 ///     Brukes til å skille mellom ulike kvitteringskøer for samme tekniske avsender. En forsendelse gjort
 ///     med en MPC Id vil kun dukke opp i kvitteringskøen med samme MPC Id. Standardverdi er "".
 /// </param>
 public Forsendelse(Avsender avsender, PostInfo postInfo, Dokumentpakke dokumentpakke, Prioritet prioritet = Prioritet.Normal, string mpcId = "", string språkkode = "NO")
     : this(avsender, postInfo, dokumentpakke, Guid.NewGuid(), prioritet, mpcId, språkkode)
 {
     SetLanguageIfNotSetOnContainingDocuments();
 }
 /// <param name="avsender">
 ///     Ansvarlig avsender av forsendelsen. Dette vil i de aller fleste tilfeller være den offentlige
 ///     virksomheten som er ansvarlig for brevet som skal sendes.
 /// </param>
 /// <param name="postInfo">Informasjon som brukes av postkasseleverandør for å behandle den digitale posten.</param>
 /// <param name="dokumentpakke">Pakke med hoveddokument og ev. vedlegg som skal sendes.</param>
 /// <param name="prioritet">Setter forsendelsens prioritet. Standard er Prioritet.Normal</param>
 /// <param name="språkkode">
 ///     Språkkode i henhold til ISO-639-1 (2 bokstaver). Brukes til å informere postkassen om hvilket
 ///     språk som benyttes, slik at varselet om mulig kan vises i riktig kontekst. Standard er NO.
 /// </param>
 /// <param name="mpcId">
 ///     Brukes til å skille mellom ulike kvitteringskøer for samme tekniske avsender. En forsendelse gjort
 ///     med en MPC Id vil kun dukke opp i kvitteringskøen med samme MPC Id. Standardverdi er "".
 /// </param>
 public Forsendelse(Avsender avsender, PostInfo postInfo, Dokumentpakke dokumentpakke, Prioritet prioritet = Prioritet.Normal, string mpcId = "", string språkkode = "NO")
     : this(avsender, postInfo, dokumentpakke, Guid.NewGuid(), prioritet, mpcId, språkkode)
 {
 }
 internal static Dokumentpakke GetDokumentpakkeWithMultipleVedlegg(int antall = 3)
 {
     var dokumentpakke = new Dokumentpakke(GetHoveddokumentSimple());
     dokumentpakke.LeggTilVedlegg(GetVedlegg(antall));
     return dokumentpakke;
 }
 internal static Dokumentpakke GetDokumentpakkeMedFlereVedlegg(int antall = 3)
 {
     var dokumentpakke = new Dokumentpakke(GetHoveddokumentEnkel());
     dokumentpakke.LeggTilVedlegg(GetVedlegg(antall));
     return dokumentpakke;
 }
 /// <param name="avsender">
 ///     Ansvarlig avsender av forsendelsen. Dette vil i de aller fleste tilfeller være den offentlige
 ///     virksomheten som er ansvarlig for brevet som skal sendes.
 /// </param>
 /// <param name="postInfo">Informasjon som brukes av postkasseleverandør for å behandle den digitale posten.</param>
 /// <param name="dokumentpakke">Pakke med hoveddokument og ev. vedlegg som skal sendes.</param>
 /// <param name="prioritet">Setter forsendelsens prioritet. Standard er Prioritet.Normal</param>
 /// <param name="språkkode">
 ///     Språkkode i henhold til ISO-639-1 (2 bokstaver). Brukes til å informere postkassen om hvilket
 ///     språk som benyttes, slik at varselet om mulig kan vises i riktig kontekst. Standard er NO.
 /// </param>
 /// <param name="mpcId">
 ///     Brukes til å skille mellom ulike kvitteringskøer for samme tekniske avsender. En forsendelse gjort
 ///     med en MPC Id vil kun dukke opp i kvitteringskøen med samme MPC Id. Standardverdi er "".
 /// </param>
 public Forsendelse(Avsender avsender, PostInfo postInfo, Dokumentpakke dokumentpakke, Prioritet prioritet = Prioritet.Normal, string mpcId = "", string språkkode = "NO")
     : this(avsender, postInfo, dokumentpakke, Guid.NewGuid(), prioritet, mpcId, språkkode)
 {
     SetLanguageIfNotSetOnContainingDocuments();
 }
        private static Forsendelse GenererForsendelse(Avsender avsender, PostInfo postInfo)
        {
            var resourceUtility = new ResourceUtility("Difi.SikkerDigitalPost.Klient.Testklient.Resources");

            var hoveddokument = resourceUtility.ReadAllBytes(true, "Hoveddokument.pdf");
            var vedlegg = resourceUtility.ReadAllBytes(true, "Vedlegg.txt");

            //Forsendelse
            var dokumentpakke =
                new Dokumentpakke(new Dokument("Sendt" + DateTime.Now, hoveddokument, "application/pdf", "NO",
                    "OWASP TOP 10.pdf"));
            dokumentpakke.LeggTilVedlegg(new Dokument("Vedlegg", vedlegg, "text/plain", "NO", "Vedlegg.txt"));
            var forsendelse = new Forsendelse(avsender, postInfo, dokumentpakke, Prioritet.Prioritert, MpcId);

            return forsendelse;
        }
 internal static Dokumentpakke GetDokumentpakkeUtenVedlegg()
 {
     var dokumentpakke = new Dokumentpakke(GetHoveddokumentEnkel());
     return dokumentpakke;
 }