Inheritance: FysiskPostMottakerAbstrakt
 public FysiskPostInfo(FysiskPostMottaker mottaker, Posttype posttype, Utskriftsfarge utskriftsfarge, Posthåndtering posthåndtering, FysiskPostReturmottaker returmottaker)
     : base(mottaker)
 {
     Posttype = posttype;
     Utskriftsfarge = utskriftsfarge;
     Posthåndtering = posthåndtering;
     _returmottakerAbstrakt = returmottaker;
 }
        public void FysiskPostInfo()
        {
            var navn = "Ola Nordmann";
            var adresse = new NorskAdresse("0001", "Oslo");
            var mottakersertifikat = new X509Certificate2(); // sertifikat hentet fra Oppslagstjenesten
            var orgnummerPostkasse = new Organisasjonsnummer("123456789");
            var mottaker = new FysiskPostMottaker(navn, adresse, mottakersertifikat, orgnummerPostkasse);

            var returMottaker = new FysiskPostReturmottaker(
                "John Doe",
                new NorskAdresse("0566", "Oslo")
                {
                    Adresselinje1 = "Returgata 22"
                });

            var postInfo = new FysiskPostInfo(
                        mottaker,
                        Posttype.A,
                        Utskriftsfarge.SortHvitt,
                        Posthåndtering.MakuleringMedMelding,
                        returMottaker
                    );
        }
        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;
        }
        internal static FysiskPostMottaker GetFysiskPostMottaker()
        {
            if (_fysiskPostMottaker != null)
            {
                return _fysiskPostMottaker;
            }

            return
                _fysiskPostMottaker =
                    new FysiskPostMottaker("Testbruker i Tester .NET", new NorskAdresse("0001", "Testekommunen"), GetMottakerSertifikat(), Settings.Default.OrganisasjonsnummerPostkasse);
        }
        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;
        }