Example #1
0
        public void TestBrukerhistorie3_4_notat()
        {
            //var messageRequest = new MeldingRequest(
            //                         mottakerKontoId: receiverId,
            //                         avsenderKontoId: senderId,
            //                         meldingType: "no.geointegrasjon.arkiv.oppdatering.arkivmeldingforenkletnotat.v1"); // Message type as string
            //                                                                                                                //Se oversikt over meldingstyper på https://github.com/ks-no/fiks-io-meldingstype-katalog/tree/test/schema


            //Fagsystem definerer ønsket struktur
            ArkivmeldingForenkletNotat notat = new ArkivmeldingForenkletNotat
            {
                sluttbrukerIdentifikator = "9hs2ir",
                nyttNotat = new OrganinterntNotat()
            };

            notat.referanseSaksmappe = new Saksmappe()
            {
                referanseEksternNøkkel = new EksternNøkkel
                {
                    fagsystem = "Fagsystem X",
                    nøkkel    = "e4reke"
                }
                ,
                klasse = new List <Klasse>
                {
                    new Klasse()
                    {
                        klassifikasjonssystem = "Søknadsreferanse",
                        klasseID = "9hs2ir"
                    }
                },
            };

            notat.nyttNotat.tittel = "Internt notat ved innstilling(Ref=e4reke, SakId=e4reke)";
            notat.nyttNotat.referanseEksternNøkkel = new EksternNøkkel
            {
                fagsystem = "Fagsystem X",
                nøkkel    = "e4reke"
            };

            notat.nyttNotat.internAvsender = new List <KorrespondansepartIntern>
            {
                new KorrespondansepartIntern()
                {
                    saksbehandler          = "Ståle Låne",
                    referanseSaksbehandler = "325abaf3-f607-4fe1-9413-91145db22d1f"
                }
            };

            notat.nyttNotat.internMottaker = new List <KorrespondansepartIntern>
            {
                new KorrespondansepartIntern()
                {
                    saksbehandler          = "Sigve Saksbehandler",
                    referanseSaksbehandler = "60577438-1f97-4c5f-b254-aa758c8786c4"
                }
            };


            notat.nyttNotat.hoveddokument = new ForenkletDokument
            {
                tittel  = "Internt notat ved innstilling",
                filnavn = "notat.pdf"
            };



            //Konverterer til arkivmelding xml
            var    arkivmelding = Arkivintegrasjon.ConvertForenkletNotatToArkivmelding(notat);
            string payload      = Arkivintegrasjon.Serialize(arkivmelding);

            ////Lager FIKS IO melding
            //List<IPayload> payloads = new List<IPayload>();
            //payloads.Add(new StringPayload(payload, "notat.xml"));
            //payloads.Add(new FilePayload(@"samples\notat.pdf"));
            //payloads.Add(new FilePayload(@"samples\vedlegg.pdf"));

            ////Sender til FIKS IO (arkiv løsning)
            //var msg = client.Send(messageRequest, payloads).Result;

            Assert.Pass();
        }
        public static arkivmelding ConvertForenkletNotatToArkivmelding(ArkivmeldingForenkletNotat input)
        {
            if (input.nyttNotat == null)
            {
                throw new Exception("Badrequest -notat må være angitt");
            }

            var       arkivmld = new arkivmelding();
            int       antFiler = 0;
            saksmappe mappe    = null;

            if (input.referanseSaksmappe != null)
            {
                mappe = ConvertSaksmappe(input.referanseSaksmappe);
            }

            if (input.nyttNotat != null)
            {
                var journalpst = new journalpost();
                journalpst.tittel = input.nyttNotat.tittel;


                journalpst.journalposttype = "I";
                //if (input.nyttNotat.mottattDato != null)
                //{
                //    journalpst.mottattDato = input.nyttNotat.mottattDato.Value;
                //    journalpst.mottattDatoSpecified = true;
                //}
                if (input.nyttNotat.dokumentetsDato != null)
                {
                    journalpst.dokumentetsDato          = input.nyttNotat.dokumentetsDato.Value;
                    journalpst.dokumentetsDatoSpecified = true;
                }
                //if (input.nyttNotat.offentlighetsvurdertDato != null)
                //{
                //    journalpst.offentlighetsvurdertDato = input.nyttNotat.offentlighetsvurdertDato.Value;
                //    journalpst.offentlighetsvurdertDatoSpecified = true;
                //}

                //journalpst.offentligTittel = input.nyttNotat.offentligTittel;

                ////skjerming
                //if (input.nyttNotat.skjermetTittel)
                //{
                //    journalpst.skjerming = new skjerming()
                //    {
                //        skjermingshjemmel = input.nyttNotat.skjerming?.skjermingshjemmel,
                //        skjermingMetadata = new List<string> { "tittel", "korrespondansepart" }.ToArray()
                //    };
                //}
                //Håndtere alle filer
                List <dokumentbeskrivelse> dokbliste = new List <dokumentbeskrivelse>();

                if (input.nyttNotat.hoveddokument != null)
                {
                    var dokbesk = new dokumentbeskrivelse
                    {
                        dokumentstatus            = "F",
                        tilknyttetRegistreringSom = "H",
                        tittel = input.nyttNotat.hoveddokument.tittel
                    };

                    if (input.nyttNotat.hoveddokument.skjermetDokument)
                    {
                        dokbesk.skjerming = new skjerming()
                        {
                            //skjermingshjemmel = input.nyttNotat.skjerming?.skjermingshjemmel,
                            skjermingDokument = "Hele"
                        };
                    }
                    var dok = new dokumentobjekt
                    {
                        referanseDokumentfil = input.nyttNotat.hoveddokument.filnavn
                    };
                    List <dokumentobjekt> dokliste = new List <dokumentobjekt>();
                    dokliste.Add(dok);

                    dokbesk.dokumentobjekt = dokliste.ToArray();

                    dokbliste.Add(dokbesk);
                    antFiler++;
                }
                foreach (var item in input.nyttNotat.vedlegg)
                {
                    var dokbesk = new dokumentbeskrivelse();
                    dokbesk.dokumentstatus            = "F";
                    dokbesk.tilknyttetRegistreringSom = "V";
                    dokbesk.tittel = item.tittel;

                    var dok = new dokumentobjekt();
                    dok.referanseDokumentfil = item.filnavn;
                    List <dokumentobjekt> dokliste = new List <dokumentobjekt>();
                    dokliste.Add(dok);

                    dokbesk.dokumentobjekt = dokliste.ToArray();

                    dokbliste.Add(dokbesk);
                    antFiler++;
                }
                journalpst.dokumentbeskrivelse = dokbliste.ToArray();

                //Korrespondanseparter
                List <korrespondansepart> partsListe = new List <korrespondansepart>();

                foreach (var internMottaker in input.nyttNotat.internAvsender)
                {
                    korrespondansepart korrpart = InternKorrespondansepartToArkivPart(_internavsenderKode, internMottaker);
                    partsListe.Add(korrpart);
                }

                foreach (var internMottaker in input.nyttNotat.internMottaker)
                {
                    korrespondansepart korrpart = InternKorrespondansepartToArkivPart(_internmottakerKode, internMottaker);
                    partsListe.Add(korrpart);
                }

                journalpst.korrespondansepart = partsListe.ToArray();


                List <journalpost> jliste = new List <journalpost>
                {
                    journalpst
                };

                if (mappe != null)
                {
                    var mappeliste = new List <saksmappe>();
                    mappe.Items = jliste.ToArray();
                    mappeliste.Add(mappe);
                    arkivmld.Items = mappeliste.ToArray();
                }
                else
                {
                    arkivmld.Items = jliste.ToArray();
                }
            }
            arkivmld.antallFiler = antFiler;
            arkivmld.system      = input.nyttNotat.referanseEksternNøkkel.fagsystem;
            arkivmld.meldingId   = input.nyttNotat.referanseEksternNøkkel.nøkkel;
            arkivmld.tidspunkt   = DateTime.Now;

            return(arkivmld);
        }