Offentlig virksomhet som produserer informasjon/brev/post som skal fomidles. Vil i de aller fleste tilfeller være synonymt med Avsender. Videre beskrevet på http://begrep.difi.no/SikkerDigitalPost/forretningslag/Aktorer.
 /// <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;
 }
 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;
 }
        internal static Avsender GetAvsender()
        {
            if (_avsender != null)
            {
                return _avsender;
            }

            var orgNrAvsender = new Organisasjonsnummer(Settings.Default.OrganisasjonsnummerAvsender);

            return _avsender = new Avsender(orgNrAvsender);
        }
        public void Initier()
        {
            var orgnummerAvsender = new Organisasjonsnummer("123456789");
            var avsender = new Avsender(orgnummerAvsender);

            var orgnummerDatabehandler = new Organisasjonsnummer("987654321");
            var avsendersertifikat = new X509Certificate2();
            var databehandler = new Databehandler(orgnummerDatabehandler, avsendersertifikat);

            avsender.Avsenderidentifikator = "Avsenderidentifikator.I.Organisasjon";
        }
        private static void SendPost()
        {
            /*
             * I dette eksemplet er det Posten som er den som produserer informasjon/brev/post som skal formidles (Avsender),
             * Posten som er databehandler, og det er Digipostkassen som skal motta meldingen. 
             */

            Log.Debug(@"--- STARTER Å SENDE POST ---");

            /*
             * SETT OPP MOTTAKER OG INNSTILLINGER
             */
            var postInfo = GenererPostInfo(ErDigitalPostMottaker, ErNorskBrev);
            var avsender = new Avsender(Settings.Default.OrgnummerPosten);

            var databehandler = new Databehandler(
                new Organisasjonsnummer(Settings.Default.OrgnummerPosten),
                Settings.Default.DatabehandlerSertifikatThumbprint);
            avsender.Avsenderidentifikator = "digipost";

            var forsendelse = GenererForsendelse(avsender, postInfo);
            var klientkonfigurasjon = SettOppKlientkonfigurasjon();
            klientkonfigurasjon.AktiverLagringAvDokumentpakkeTilDisk(@"C:\Users\aas\Downloads\");

            var sikkerDigitalPostKlient = new SikkerDigitalPostKlient(databehandler, klientkonfigurasjon);

            /**
             * SEND POST OG MOTTA KVITTERINGER
             */
            SendPost(sikkerDigitalPostKlient, forsendelse);

            Log.Debug(@"--- STARTER Å HENTE KVITTERINGER ---");

            HentKvitteringer(sikkerDigitalPostKlient);

            Console.WriteLine();
            Log.Debug(@"--- FERDIG Å SENDE POST OG MOTTA KVITTERINGER :) --- ");
            Console.ReadKey();
        }
        private static void SendPost()
        {
            /*
             * I dette eksemplet er det Posten som er den som produserer informasjon/brev/post som skal formidles (Avsender),
             * Posten som er teknisk avsender, og det er Digipostkassen som skal motta meldingen. 
             */

            Console.WriteLine("--- STARTER Å SENDE POST ---");

            /*
             * SETT OPP MOTTAKER OG INNSTILLINGER
             */
            PostkasseInnstillinger postkasseInnstillinger = PostkasseInnstillinger.GetPosten();
            var postInfo = GenererPostInfo(postkasseInnstillinger, ErDigitalPostMottaker, ErNorskBrev);
            var avsender = new Avsender(postkasseInnstillinger.OrgNummerBehandlingsansvarlig);

            var databehandler = new Databehandler(postkasseInnstillinger.OrgNummerDatabehandler, "8702F5E55217EC88CF2CCBADAC290BB4312594AC");
            avsender.Avsenderidentifikator = "digipost";

            var forsendelse = GenererForsendelse(avsender, postInfo);
            var klientkonfigurasjon = SettOppKlientkonfigurasjon();
            var sikkerDigitalPostKlient = new SikkerDigitalPostKlient(databehandler, klientkonfigurasjon);


            /**
             * SEND POST OG MOTTA KVITTERINGER
             */
            SendPost(sikkerDigitalPostKlient, forsendelse);

            Console.WriteLine("--- STARTER Å HENTE KVITTERINGER ---");

            HentKvitteringer(sikkerDigitalPostKlient);

            Console.WriteLine();
            Console.WriteLine("--- FERDIG Å SENDE POST OG MOTTA KVITTERINGER :) --- ");
            Console.ReadKey();
        }
        public void SendDigitaltPåVegneAvIntegrasjon()
        {
            //Arrange
            const string testDepartementetAvsenderOrgnummer = "987656789";
            const string postenDatabehandlerOrgnummer = "984661185";
            var avsender = new Avsender(testDepartementetAvsenderOrgnummer);

            var databehandler = new Databehandler(postenDatabehandlerOrgnummer, DomeneUtility.GetAvsenderSertifikat());
            var forsendelse = new Forsendelse(avsender, DomeneUtility.GetDigitalPostInfoEnkel(), DomeneUtility.GetDokumentpakkeUtenVedlegg(), Prioritet.Normal, Guid.NewGuid().ToString());
            var klientKonfig = new Klientkonfigurasjon
            {
                MeldingsformidlerUrl = new Uri(Settings.Default.UrlMeldingsformidler),
                LoggXmlTilFil = true
            };

            //Act
            var sdpKlient = new SikkerDigitalPostKlient(databehandler, klientKonfig);
            var transportkvittering = sdpKlient.Send(forsendelse, true);

            //Assert
            Assert.IsNotNull(transportkvittering);
            var kvittering = HentKvitteringOgBekreft(sdpKlient, "Send digital paa vegne av", forsendelse);
            Assert.IsTrue(kvittering is Leveringskvittering, "Klarte ikke hente kvittering eller feilet kvittering");
        }
        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;
        }
 /// <summary>
 /// Lager et nytt instans av Avsender.
 /// </summary>
 /// <param name="organisasjonsnummer">Organisasjonsnummeret til den behandlingsansvarlige.</param>
 public Behandlingsansvarlig(string organisasjonsnummer)
     : this(new Organisasjonsnummer(organisasjonsnummer))
 {
     _målKlasse = new Avsender(organisasjonsnummer);
 }
 /// <summary>
 /// Lager et nytt instans av Avsender.
 /// </summary>
 /// <param name="organisasjonsnummer">Organisasjonsnummeret til den behandlingsansvarlige.</param>
 public Behandlingsansvarlig(Organisasjonsnummer organisasjonsnummer)
 {
     _målKlasse = new Avsender(organisasjonsnummer);
 }
 /// <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();
 }