Mottaker av en digital postmelding.
Inheritance: PostMottaker
 /// <param name="mottaker">Mottaker av digital post.</param>
 /// <param name="ikkeSensitivTittel">Ikke-sensitiv tittel på brevet. Denne tittelen vil være synlig under transport av meldingen, og kan vises i mottakerens postkasse.</param>
 /// <param name="sikkerhetsnivå">Nødvendig autentiseringsnivå som kreves av mottaker i postkassen for å åpne brevet. Standardverdi er Nivå4.</param>
 /// <param name="åpningskvittering">Ønskes kvittering når brevet blir åpnet av mottaker? Standard er false.</param>
 public DigitalPostInfo(DigitalPostMottaker mottaker, string ikkeSensitivTittel, Sikkerhetsnivå sikkerhetsnivå = Sikkerhetsnivå.Nivå4, bool åpningskvittering = false)
     : base(mottaker)
 {
     IkkeSensitivTittel = ikkeSensitivTittel;
     Sikkerhetsnivå = sikkerhetsnivå;
     Åpningskvittering = åpningskvittering;
 }
        public void DigitalPostInfo()
        {
            var personnummer = "01013300002";
            var postkasseadresse = "ola.nordmann#2233";
            var mottakersertifikat = new X509Certificate2(); //sertifikat hentet fra Oppslagstjenesten
            var orgnummerPostkasse = new Organisasjonsnummer("123456789");
            var mottaker = new DigitalPostMottaker(
                    personnummer,
                    postkasseadresse,
                    mottakersertifikat,
                    orgnummerPostkasse
                );

            var ikkeSensitivTittel = "En tittel som ikke er sensitiv";
            var sikkerhetsnivå = Sikkerhetsnivå.Nivå3;
            var postInfo = new DigitalPostInfo(mottaker, ikkeSensitivTittel, sikkerhetsnivå);
        }
        private static PostInfo GenererPostInfo(bool erDigitalPostMottaker, bool erNorskBrev)
        {
            var resourceUtility = new ResourceUtility("Difi.SikkerDigitalPost.Klient.Testklient.Resources.Sertifikater");

            PostInfo postInfo;
            PostMottaker mottaker;
            var sertifikat =
                new X509Certificate2(resourceUtility.ReadAllBytes(true, "testmottakerFraOppslagstjenesten.pem"));

            if (erDigitalPostMottaker)
            {
                mottaker = new DigitalPostMottaker(Settings.Default.MottakerPersonnummer,
                    Settings.Default.MottakerDigipostadresse, sertifikat, Settings.Default.OrgnummerPosten
                    );

                postInfo = new DigitalPostInfo((DigitalPostMottaker) mottaker, "Ikke-sensitiv tittel",
                    Sikkerhetsnivå.Nivå3, true);
                ((DigitalPostInfo) postInfo).Virkningstidspunkt = DateTime.Now.AddMinutes(0);

                ((DigitalPostInfo) postInfo).SmsVarsel = new SmsVarsel("12345678", "Et lite varsel pr SMS.");
            }
            else
            {
                Adresse adresse;
                if (erNorskBrev)
                    adresse = new NorskAdresse("0566", "Oslo");
                else
                    adresse = new UtenlandskAdresse("SE", "Saltkråkan 22");

                mottaker = new FysiskPostMottaker("Rolf Rolfsen", adresse,
                    sertifikat, Settings.Default.OrgnummerPosten);

                var returMottaker = new FysiskPostReturmottaker("ReturKongen", new NorskAdresse("1533", "Søppeldynga"));

                postInfo = new FysiskPostInfo((FysiskPostMottaker) mottaker, Posttype.A, Utskriftsfarge.SortHvitt,
                    Posthåndtering.DirekteRetur, returMottaker);
            }
            return postInfo;
        }
        private static PostInfo GenererPostInfo(PostkasseInnstillinger postkasseInnstillinger, bool erDigitalPostMottaker, bool erNorskBrev)
        {
            PostInfo postInfo;
            PostMottaker mottaker;

            var mottakerSertifikatThumbprint = "B43CAAA0FBEE6C8DA85B47D1E5B7BCAB42AB9ADD";

            if (erDigitalPostMottaker)
            {
                mottaker = new DigitalPostMottaker(
                    personidentifikator: postkasseInnstillinger.Personnummer, 
                    postkasseadresse: postkasseInnstillinger.Postkasseadresse, 
                    sertifikatThumbprint: mottakerSertifikatThumbprint, 
                    organisasjonsnummerPostkasse: postkasseInnstillinger.OrgnummerPostkasse
                    );

                postInfo = new DigitalPostInfo((DigitalPostMottaker)mottaker, "Ikke-sensitiv tittel", Sikkerhetsnivå.Nivå3, åpningskvittering: false);
                ((DigitalPostInfo)postInfo).Virkningstidspunkt = DateTime.Now.AddMinutes(0);
            }
            else
            {
                Adresse adresse;
                if (erNorskBrev)
                    adresse = new NorskAdresse("0566", "Oslo");
                else
                    adresse = new UtenlandskAdresse("SE", "Saltkråkan 22");

                mottaker = new FysiskPostMottaker("Rolf Rolfsen", adresse,
                    mottakerSertifikatThumbprint, postkasseInnstillinger.OrgnummerPostkasse);

                var returMottaker = new FysiskPostMottaker("ReturKongen", new NorskAdresse("1533", "Søppeldynga"))
                {
                    Adresse = { Adresselinje1 = "Søppelveien 33" }
                };

                postInfo = new FysiskPostInfo(mottaker, Posttype.A, Utskriftsfarge.SortHvitt, Posthåndtering.MakuleringMedMelding, returMottaker);
            }
            return postInfo;
        }
        private static PostInfo GenererPostInfo(bool erDigitalPostMottaker, bool erNorskBrev)
        {
            PostInfo postInfo;
            PostMottaker mottaker;

            if (erDigitalPostMottaker)
            {
                mottaker = new DigitalPostMottaker(
                    personidentifikator: Settings.Default.MottakerPersonnummer, 
                    postkasseadresse: Settings.Default.MottakerDigipostadresse, 
                    sertifikatThumbprint:Settings.Default.MottakerSertifikatThumbprint, 
                    organisasjonsnummerPostkasse: Settings.Default.OrgnummerPosten
                    );

                postInfo = new DigitalPostInfo((DigitalPostMottaker)mottaker, "Ikke-sensitiv tittel", Sikkerhetsnivå.Nivå3, åpningskvittering: false);
                ((DigitalPostInfo)postInfo).Virkningstidspunkt = DateTime.Now.AddMinutes(0);

                ((DigitalPostInfo)postInfo).SmsVarsel = new SmsVarsel("12345678", "Et lite varsel pr SMS.");

            }
            else
            {
                Adresse adresse;
                if (erNorskBrev)
                    adresse = new NorskAdresse("0566", "Oslo");
                else
                    adresse = new UtenlandskAdresse("SE", "Saltkråkan 22");

                mottaker = new FysiskPostMottaker("Rolf Rolfsen", adresse,
                    Settings.Default.MottakerSertifikatThumbprint, Settings.Default.OrgnummerPosten);

                var returMottaker = new FysiskPostMottaker("ReturKongen", new NorskAdresse("1533", "Søppeldynga"))
                {
                    Adresse = { Adresselinje1 = "Søppelveien 33" }
                };

                postInfo = new FysiskPostInfo(mottaker, Posttype.A, Utskriftsfarge.SortHvitt, Posthåndtering.MakuleringMedMelding, returMottaker);
            }
            return postInfo;
        }
        internal static DigitalPostMottaker GetDigitalPostMottaker()
        {
            if (_digitalPostMottaker != null)
            {
                return _digitalPostMottaker;
            }

            return _digitalPostMottaker = new DigitalPostMottaker(Settings.Default.PersonnummerMottaker, Settings.Default.DigitalPostkasseAdresseMottaker, GetMottakerSertifikat(), Settings.Default.OrganisasjonsnummerPostkasse);
        }