Ejemplo n.º 1
0
        private void SendPlanvedtak()
        {
            Guid receiverId = Guid.Parse(config["sendToAccountId"]); // Receiver id as Guid
            Guid senderId   = Guid.Parse(config["accountId"]);       // Sender id as Guid

            var messageRequest = new MeldingRequest(
                mottakerKontoId: receiverId,
                avsenderKontoId: senderId,
                meldingType: "no.geointegrasjon.plan.oppdatering.planvedtak.v1");                       // Message type as string https://fiks.ks.no/plan.oppretteplanidentinput.v1.schema.json

            //Se oversikt over meldingstyper på https://github.com/ks-no/fiks-io-meldingstype-katalog/tree/test/schema

            client.Lookup(new LookupRequest("", "", 3));

            string payload = File.ReadAllText("samplePlanvedtak.json");

            List <IPayload> payloads = new List <IPayload>();

            payloads.Add(new StringPayload(payload, "Planvedtak.json"));
            //payloads.Add(new KS.Fiks.IO.Client.Models.FilePayload(@"C:\dev\ks\ks.fiks.io.eplansak.sample\ks.fiks.io.eplansak.sample\files\06_36_2012_føresegner.pdf"));
            //payloads.Add(new KS.Fiks.IO.Client.Models.FilePayload(@"C:\dev\ks\ks.fiks.io.eplansak.sample\ks.fiks.io.eplansak.sample\files\06_36_2012_plankart.pdf"));
            //payloads.Add(new KS.Fiks.IO.Client.Models.FilePayload(@"C:\dev\ks\ks.fiks.io.eplansak.sample\ks.fiks.io.eplansak.sample\files\K-sak 112-12.pdf"));

            var msg = client.Send(messageRequest, payloads).Result;

            Console.WriteLine("Melding " + msg.MeldingId.ToString() + " sendt..." + msg.MeldingType + "...med 3 vedlegg");
            Console.WriteLine(payload);
        }
Ejemplo n.º 2
0
        private void SendOppdatering()
        {
            var receiverId = appSettings.FiksIOConfig.SendToAccountId;                                                               // Receiver id as Guid
            var senderId   = appSettings.FiksIOConfig.FiksIoAccountId;                                                               // Sender id as Guid

            var konto = client.Lookup(new LookupRequest("KOMM:0825", "no.ks.fiks.gi.arkivintegrasjon.oppdatering.forenklet.v1", 3)); //TODO for å finne receiverId
            //Prosess også?

            var messageRequest = new MeldingRequest(
                mottakerKontoId: receiverId,
                avsenderKontoId: senderId,
                meldingType: "no.ks.fiks.gi.arkivintegrasjon.oppdatering.basis.oppdatersaksmappe.v1");                       // Message type as string
                                                                                                                             //Se oversikt over meldingstyper på https://github.com/ks-no/fiks-io-meldingstype-katalog/tree/test/schema

            //Konverterer OppdaterSaksmappe til arkivmelding xml
            var inng         = MessageSamples.GetOppdaterSaksmappeAnsvarligPaaFagsystemnoekkel("Fagsystem X", "1234", "Testing Testesen", "id343463346");
            var arkivmelding = ArkivmeldingFactory.GetArkivmelding(inng);
            var payload      = ArkivmeldingSerializeHelper.Serialize(arkivmelding);

            //Lager FIKS IO melding
            var payloads = new List <IPayload> {
                new StringPayload(payload, "oppdatersaksmappe.xml")
            };

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

            Console.WriteLine("Melding OppdaterSaksmappeAnsvarligPaaFagsystemnoekkel " + msg.MeldingId.ToString() + " sendt..." + msg.MeldingType);
            Console.WriteLine(payload);
        }
Ejemplo n.º 3
0
        public Guid Send(FiksRequest fiksRequest, Guid receiverId)
        {
            var ttl            = new TimeSpan(0, TTLMinutes, 0);
            var messageRequest = new MeldingRequest(_senderId, receiverId, fiksRequest.TestCase.MessageType, ttl);

            var payloads = new List <IPayload>();

            if (fiksRequest.CustomPayloadFile != null)
            {
                PayloadHelper.CreateCustomPayload(fiksRequest, payloads);
            }
            else
            {
                PayloadHelper.CreateStandardPayload(fiksRequest, payloads);
            }

            var attachmentFileNames = fiksRequest.TestCase.PayloadAttachmentFileNames;

            if (!string.IsNullOrEmpty(attachmentFileNames))
            {
                foreach (var payloadFileName in attachmentFileNames.Split(";"))
                {
                    var testCaseDirectory = Path.Combine(TestSeeder.TestsDirectory, fiksRequest.TestCase.Protocol, fiksRequest.TestCase.Operation + fiksRequest.TestCase.Situation);
                    var fileStream        = File.OpenRead(Path.Combine(testCaseDirectory, "Attachments", payloadFileName));
                    payloads.Add(new StreamPayload(fileStream, payloadFileName));
                }
            }

            fiksRequest.SentAt = DateTime.Now;
            var result = _client.Send(messageRequest, payloads).Result;

            return(result.MeldingId);
        }
Ejemplo n.º 4
0
        private void SendSok()
        {
            var receiverId = appSettings.FiksIOConfig.SendToAccountId;                                                // Receiver id as Guid
            var senderId   = appSettings.FiksIOConfig.FiksIoAccountId;                                                // Sender id as Guid

            var konto = client.Lookup(new LookupRequest("KOMM:0825", "no.ks.fiks.gi.arkivintegrasjon.innsyn.v1", 3)); //TODO for å finne receiverId
            //Prosess også?

            var messageRequest = new MeldingRequest(
                mottakerKontoId: receiverId,
                avsenderKontoId: senderId,
                meldingType: "no.ks.fiks.gi.arkivintegrasjon.innsyn.sok.v1");                       // Message type as string
            //Se oversikt over meldingstyper på https://github.com/ks-no/fiks-io-meldingstype-katalog/tree/test/schema

            //Konverterer til arkivmelding xml
            var sok     = MessageSamples.SokTittel("tittel*");
            var payload = ArkivmeldingSerializeHelper.Serialize(sok);

            //Lager FIKS IO melding
            var payloads = new List <IPayload> {
                new StringPayload(payload, "sok.xml")
            };

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

            Console.WriteLine("Melding tittel søk " + msg.MeldingId.ToString() + " sendt..." + msg.MeldingType);
            Console.WriteLine(payload);
        }
Ejemplo n.º 5
0
        private SendtMelding SendSok(sok _sok)
        {
            Guid receiverId = Guid.Parse(config["sendToAccountId"]);                                                  // Receiver id as Guid
            Guid senderId   = Guid.Parse(config["accountId"]);                                                        // Sender id as Guid

            var konto = client.Lookup(new LookupRequest("KOMM:0825", "no.ks.fiks.gi.arkivintegrasjon.innsyn.v1", 3)); //TODO for å finne receiverId
            //Prosess også?

            var messageRequest = new MeldingRequest(
                mottakerKontoId: receiverId,
                avsenderKontoId: senderId,
                meldingType: "no.ks.fiks.gi.arkivintegrasjon.innsyn.sok.v1");                       // Message type as string
                                                                                                    //Se oversikt over meldingstyper på https://github.com/ks-no/fiks-io-meldingstype-katalog/tree/test/schema

            // Converts to arkivmelding xml
            string payload = Serialize(_sok);
            // Creates FIKS IO message
            List <IPayload> payloads = new List <IPayload>();

            payloads.Add(new StringPayload(payload, "sok.xml"));

            // Sends to FIKS IO (archive solution)
            SendtMelding msg = client.Send(messageRequest, payloads).Result;

            Console.WriteLine("Message sok " + msg.MeldingId.ToString() + " sent..." + msg.MeldingType);
            Console.WriteLine(payload);

            // TODO: Catch OnReceivedMelding so the search result may be found

            return(msg);
        }
Ejemplo n.º 6
0
        private void SendDelegertVedtak()
        {
            Guid receiverId = Guid.Parse(config["sendToAccountId"]); // Receiver id as Guid
            Guid senderId   = Guid.Parse(config["accountId"]);       // Sender id as Guid

            var messageRequest = new MeldingRequest(
                mottakerKontoId: receiverId,
                avsenderKontoId: senderId,
                meldingType: "no.ks.fiks.politisk.behandling.klient.senddelegertvedtak.v1");                       // Message type as string https://fiks.ks.no/plan.oppretteplanidentinput.v1.schema.json
                                                                                                                   //Se oversikt over meldingstyper på https://github.com/ks-no/fiks-io-meldingstype-katalog/tree/test/schema

            // client.Lookup(new LookupRequest("", "", 3));

            string payload = File.ReadAllText("sampleSendeDelegertVedtak.json");

            List <IPayload> payloads = new List <IPayload>();

            payloads.Add(new StringPayload(payload, "sak.json"));
            payloads.Add(new KS.Fiks.IO.Client.Models.FilePayload(@"C:\dev\ks\gi-politiskbehandling\Eksempelklienter\ks.fiks.io.eplansak.utvalg.sample\ks.fiks.io.eplansak.sample\files\vedtak.docx"));


            var msg = client.Send(messageRequest, payloads).Result;

            Console.WriteLine("Melding " + msg.MeldingId.ToString() + " sendt..." + msg.MeldingType + "...med 1 dokument");
            Console.WriteLine(payload);
        }
Ejemplo n.º 7
0
        public async Task <SendtMelding> Send(MeldingRequest request, IList <IPayload> payload)
        {
            var encryptedPayload = await GetEncryptedPayload(request, payload).ConfigureAwait(false);

            var sentMessageApiModel = await _sender.Send(request.ToApiModel(), encryptedPayload)
                                      .ConfigureAwait(false);

            return(SendtMelding.FromSentMessageApiModel(sentMessageApiModel));
        }
Ejemplo n.º 8
0
        private async Task <Stream> GetEncryptedPayload(MeldingRequest request, IList <IPayload> payload)
        {
            if (payload.Count == 0)
            {
                return(null);
            }

            var publicKey = await _catalogHandler.GetPublicKey(request.MottakerKontoId).ConfigureAwait(false);

            var encryptedPayload = _asicEncrypter.Encrypt(publicKey, payload);

            encryptedPayload.Seek(0, SeekOrigin.Begin);
            return(encryptedPayload);
        }
Ejemplo n.º 9
0
        private void FinnPlanerForMatrikkelenhet()
        {
            Guid receiverId = Guid.Parse(config["sendToAccountId"]); // Receiver id as Guid
            Guid senderId   = Guid.Parse(config["accountId"]);       // Sender id as Guid

            var messageRequest = new MeldingRequest(
                mottakerKontoId: receiverId,
                avsenderKontoId: senderId,
                meldingType: "no.ks.fiks.gi.plan.innsyn.finnplanerformatrikkelenhet.v2");

            string payload = File.ReadAllText("sampleFinnPlanerMatrikkelenhet.json");

            var msg = client.Send(messageRequest, payload, "FinnPlanerMatrikkelenhet.json").Result;

            Console.WriteLine("Melding " + msg.MeldingId.ToString() + " sendt..." + msg.MeldingType);
            Console.WriteLine(payload);
        }
Ejemplo n.º 10
0
        private void HentMøteplan()
        {
            Guid receiverId = Guid.Parse(config["sendToAccountId"]); // Receiver id as Guid
            Guid senderId   = Guid.Parse(config["accountId"]);       // Sender id as Guid

            var messageRequest = new MeldingRequest(
                mottakerKontoId: receiverId,
                avsenderKontoId: senderId,
                meldingType: "no.ks.fiks.politisk.behandling.klient.hentmøteplan.v1");



            string payload = File.ReadAllText("sampleHentMøteplan.json");


            var msg = client.Send(messageRequest, payload, "sok.json").Result;

            Console.WriteLine("Melding " + msg.MeldingId.ToString() + " sendt..." + msg.MeldingType);
            Console.WriteLine(payload);
        }
Ejemplo n.º 11
0
        private void SendPlanleggingIgangsatt()
        {
            Guid receiverId = Guid.Parse(config["sendToAccountId"]); // Receiver id as Guid
            Guid senderId   = Guid.Parse(config["accountId"]);       // Sender id as Guid

            var messageRequest = new MeldingRequest(
                mottakerKontoId: receiverId,
                avsenderKontoId: senderId,
                meldingType: "no.geointegrasjon.plan.oppdatering.planleggingigangsatt.v1");                       // Message type as string https://fiks.ks.no/plan.oppretteplanidentinput.v1.schema.json
            //Se oversikt over meldingstyper på https://github.com/ks-no/fiks-io-meldingstype-katalog/tree/test/schema


            string payload = File.ReadAllText("samplePlanleggingIgangsatt.json");


            var msg = client.Send(messageRequest, payload, "PlanleggingIgangsatt.json").Result;

            Console.WriteLine("Melding " + msg.MeldingId.ToString() + " sendt..." + msg.MeldingType);
            Console.WriteLine(payload);
        }
Ejemplo n.º 12
0
        private SendtMelding SendNyJournalpost(journalpost jp)
        {
            Guid receiverId = Guid.Parse(config["sendToAccountId"]);                                                             // Receiver id as Guid
            Guid senderId   = Guid.Parse(config["accountId"]);                                                                   // Sender id as Guid

            var konto = client.Lookup(new LookupRequest("KOMM:0825", "no.geointegrasjon.arkiv.oppdatering.arkivmelding.v1", 3)); //TODO for å finne receiverId
            //Prosess også?

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

            var arkivmld = new arkivmelding();

            // arkivmld.sluttbrukerIdentifikator = "Fagsystemets brukerid";
            arkivmld.antallFiler = 0;
            arkivmld.system      = jp.referanseEksternNoekkel.fagsystem;
            arkivmld.meldingId   = jp.referanseEksternNoekkel.noekkel;
            arkivmld.tidspunkt   = DateTime.Now;
            arkivmld.Items       = new journalpost[] { jp };

            string payload = Serialize(arkivmld);

            // Creates FIKS IO message
            List <IPayload> payloads = new List <IPayload>();

            payloads.Add(new StringPayload(payload, "journalpost.xml"));

            // Sends to FIKS IO (archive solution)
            var msg = client.Send(messageRequest, payloads).Result;

            Console.WriteLine("Melding " + msg.MeldingId.ToString() + " sendt..." + msg.MeldingType);
            Console.WriteLine(payload);

            // TODO: Await result from archive and return key
            return(null);
        }
Ejemplo n.º 13
0
        private void SendPlanavgrensning()
        {
            Guid receiverId = Guid.Parse(config["sendToAccountId"]); // Konto for Planregister systemet
            Guid senderId   = Guid.Parse(config["accountId"]);       // Konto for ePlansak systemet

            var messageRequest = new MeldingRequest(
                mottakerKontoId: receiverId,
                avsenderKontoId: senderId,
                meldingType: "no.ks.fiks.gi.plan.oppdatering.registrerplanavgrensning.v2");

            string payload = File.ReadAllText("samplePlanavgrensning.json");

            List <IPayload> payloads = new List <IPayload>();

            payloads.Add(new StringPayload(payload, "Planavgrensning.json"));
            payloads.Add(new KS.Fiks.IO.Client.Models.FilePayload(@"omrissOppdatert.gml"));

            var msg = client.Send(messageRequest, payloads).Result;

            Console.WriteLine("Melding " + msg.MeldingId.ToString() + " sendt..." + msg.MeldingType + "...med 1 vedlegg");
            Console.WriteLine(payload);
        }
Ejemplo n.º 14
0
        public async Task CallsSendWithExpectedMessageSpecificationApiModel()
        {
            var sut = _fixture.CreateSut();

            var request = new MeldingRequest(
                Guid.NewGuid(),
                Guid.NewGuid(),
                "Meldingsprotokoll",
                TimeSpan.FromDays(2),
                Guid.NewGuid());

            var payload = new List <IPayload>();

            await sut.Send(request, payload).ConfigureAwait(false);

            _fixture.FiksIOSenderMock.Verify(_ => _.Send(
                                                 It.Is <MeldingSpesifikasjonApiModel>(
                                                     model => model.Ttl == (long)request.Ttl.TotalMilliseconds &&
                                                     model.SvarPaMelding == request.SvarPaMelding &&
                                                     model.AvsenderKontoId == request.AvsenderKontoId &&
                                                     model.MottakerKontoId == request.MottakerKontoId),
                                                 It.IsAny <Stream>()));
        }
        private void SendUtgående()
        {
            Guid receiverId = Guid.Parse(config["sendToAccountId"]);                                                                      // Receiver id as Guid
            Guid senderId   = Guid.Parse(config["accountId"]);                                                                            // Sender id as Guid

            var konto = client.Lookup(new LookupRequest("KOMM:0825", "no.geointegrasjon.arkiv.oppdatering.arkivmeldingforenklet.v1", 3)); //TODO for å finne receiverId
            //Prosess også?

            var messageRequest = new MeldingRequest(
                mottakerKontoId: receiverId,
                avsenderKontoId: senderId,
                meldingType: "no.geointegrasjon.arkiv.oppdatering.arkivmeldingforenkletUtgaaende.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
            ArkivmeldingForenkletUtgaaende utg = new ArkivmeldingForenkletUtgaaende
            {
                sluttbrukerIdentifikator = "Fagsystemets brukerid",
                nyUtgaaendeJournalpost   = new UtgaaendeJournalpost()
            };

            utg.nyUtgaaendeJournalpost.tittel = "Tillatelse til ...";
            utg.nyUtgaaendeJournalpost.referanseEksternNøkkel = new EksternNøkkel
            {
                fagsystem = "Fagsystem X",
                nøkkel    = "759d7aab-6f41-487d-bdb9-dd177ee887c1"
            };

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

            utg.nyUtgaaendeJournalpost.mottaker = new List <Korrespondansepart>
            {
                new Korrespondansepart()
                {
                    navn        = "Mons Mottaker",
                    postadresse = new EnkelAdresse()
                    {
                        adresselinje1 = "Gate 1",
                        postnr        = "3801",
                        poststed      = "Bø"
                    }
                },
                new Korrespondansepart()
                {
                    navn = "Foretak Mottaker",
                    enhetsidentifikator = new Enhetsidentifikator()
                    {
                        organisasjonsnummer = "123456789"
                    },
                    kontaktperson = "Kris Kontakt",
                    postadresse   = new EnkelAdresse()
                    {
                        adresselinje1 = "Forretningsgate 1",
                        postnr        = "3801",
                        poststed      = "Bø"
                    }
                }
            };

            utg.nyUtgaaendeJournalpost.hoveddokument = new ForenkletDokument
            {
                tittel  = "Vedtak om tillatelse til ...",
                filnavn = "vedtak.pdf"
            };

            utg.nyUtgaaendeJournalpost.vedlegg = new List <ForenkletDokument>
            {
                new ForenkletDokument
                {
                    tittel  = "Vedlegg 1",
                    filnavn = "vedlegg.pdf"
                }
            };

            //osv...

            //Konverterer til arkivmelding xml
            var    arkivmelding = Arkivintegrasjon.ConvertForenkletUtgaaendeToArkivmelding(utg);
            string payload      = Arkivintegrasjon.Serialize(arkivmelding);

            //Lager FIKS IO melding
            List <IPayload> payloads = new List <IPayload>();

            payloads.Add(new StringPayload(payload, "utgaaendejournalpost.xml"));
            payloads.Add(new FilePayload(@"samples\vedtak.pdf"));
            payloads.Add(new FilePayload(@"samples\vedlegg.pdf"));

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

            Console.WriteLine("Melding " + msg.MeldingId.ToString() + " sendt..." + msg.MeldingType + "...med 1 vedlegg");
            Console.WriteLine(payload);
        }
Ejemplo n.º 16
0
        private void SendInngåendeBrukerhistorie3_1()
        {
            var receiverId = appSettings.FiksIOConfig.SendToAccountId;                                                    // Receiver id as Guid
            var senderId   = appSettings.FiksIOConfig.FiksIoAccountId;                                                    // Sender id as Guid

            var konto = client.Lookup(new LookupRequest("KOMM:0825", "no.geointegrasjon.arkiv.oppdatering.basis.v1", 3)); //TODO for å finne receiverId
            //Prosess også?

            var messageRequest = new MeldingRequest(
                mottakerKontoId: receiverId,
                avsenderKontoId: senderId,
                meldingType: "no.geointegrasjon.arkiv.oppdatering.basis.arkivmelding.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
            var inng = new ArkivmeldingForenkletInnkommende
            {
                sluttbrukerIdentifikator = "9hs2ir",
                nyInnkommendeJournalpost = new InnkommendeJournalpost
                {
                    tittel                   = "Startlån søknad(Ref=e4reke, SakId=e4reke)",
                    mottattDato              = DateTime.Today,
                    dokumentetsDato          = DateTime.Today.AddDays(-2),
                    offentlighetsvurdertDato = DateTime.Today,
                    referanseEksternNoekkel  =
                        new EksternNoekkel {
                        fagsystem = "Fagsystem X", noekkel = "e4reke"
                    },
                    mottaker =
                        new List <Korrespondansepart>
                    {
                        new Korrespondansepart()
                        {
                            navn = "Test kommune",
                            enhetsidentifikator =
                                new Enhetsidentifikator()
                            {
                                organisasjonsnummer = "123456789"
                            },
                            postadresse = new EnkelAdresse()
                            {
                                adresselinje1 = "Startlån avd",
                                adresselinje2 = "Rådhusgate 1",
                                postnr        = "3801",
                                poststed      = "Bø"
                            }
                        }
                    },
                    avsender = new List <Korrespondansepart>
                    {
                        new Korrespondansepart()
                        {
                            navn     = "Anita Søker",
                            personid = new Personidentifikator()
                            {
                                personidentifikatorType = "F", personidentifikatorNr = "12345678901"
                            },
                            postadresse = new EnkelAdresse()
                            {
                                adresselinje1 = "Gate 1", postnr = "3801", poststed = "Bø"
                            }
                        }
                    },
                    hoveddokument =
                        new ForenkletDokument {
                        tittel = "Søknad om startlån", filnavn = "søknad.pdf"
                    },
                    vedlegg = new List <ForenkletDokument>
                    {
                        new ForenkletDokument()
                        {
                            tittel = "Vedlegg 1", filnavn = "vedlegg.pdf"
                        }
                    }
                }
            };

            //Konverterer til arkivmelding xml
            var arkivmelding = ArkivmeldingFactory.GetArkivmelding(inng);
            var payload      = ArkivmeldingSerializeHelper.Serialize(arkivmelding);

            //Lager FIKS IO melding
            var payloads = new List <IPayload>
            {
                new StringPayload(payload, "innkommendejournalpost.xml"),
                new FilePayload(Path.Combine("samples", "søknad.pdf")),
                new FilePayload(Path.Combine("samples", "vedlegg.pdf"))
            };

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

            Console.WriteLine("Melding " + msg.MeldingId.ToString() + " sendt..." + msg.MeldingType + "...med 2 vedlegg");
            Console.WriteLine(payload);
        }
Ejemplo n.º 17
0
 public async Task <SendtMelding> Send(MeldingRequest request)
 {
     return(await Send(request, new List <IPayload>()).ConfigureAwait(false));
 }
Ejemplo n.º 18
0
 private async Task <SendtMelding> Send(MeldingRequest request, IPayload payload)
 {
     return(await Send(request, new List <IPayload> {
         payload
     }).ConfigureAwait(false));
 }
Ejemplo n.º 19
0
 public async Task <SendtMelding> Send(MeldingRequest request, Stream payload, string filename)
 {
     return(await Send(request, new StreamPayload(payload, filename)).ConfigureAwait(false));
 }
Ejemplo n.º 20
0
 public async Task <SendtMelding> Send(MeldingRequest request, string pathToPayload)
 {
     return(await Send(request, new FilePayload(pathToPayload)).ConfigureAwait(false));
 }
Ejemplo n.º 21
0
 public async Task <SendtMelding> Send(MeldingRequest request, IList <IPayload> payload)
 {
     return(await _sendHandler.Send(request, payload).ConfigureAwait(false));
 }
Ejemplo n.º 22
0
        private void SendUtgåendeUtvidet()
        {
            var receiverId = appSettings.FiksIOConfig.SendToAccountId;                                                           // Receiver id as Guid
            var senderId   = appSettings.FiksIOConfig.FiksIoAccountId;                                                           // Sender id as Guid

            var konto = client.Lookup(new LookupRequest("KOMM:0825", "no.geointegrasjon.arkiv.oppdatering.arkivmelding.v1", 3)); //TODO for å finne receiverId
            //Prosess også?

            var messageRequest = new MeldingRequest(
                mottakerKontoId: receiverId,
                avsenderKontoId: senderId,
                meldingType: "no.geointegrasjon.arkiv.oppdatering.arkivmeldingUtgaaende.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
            var utg = new ArkivmeldingForenkletUtgaaende
            {
                sluttbrukerIdentifikator = "Fagsystemets brukerid",
                nyUtgaaendeJournalpost   = new UtgaaendeJournalpost
                {
                    referanseEksternNoekkel = new EksternNoekkel
                    {
                        fagsystem = "Fagsystem X", noekkel = Guid.NewGuid().ToString()
                    }
                }
            };

            utg.nyUtgaaendeJournalpost.tittel = "Tillatelse til ...";

            utg.nyUtgaaendeJournalpost.internAvsender = new List <KorrespondansepartIntern>
            {
                new KorrespondansepartIntern()
                {
                    saksbehandler = "Sigve Saksbehandler"
                }
            };

            utg.nyUtgaaendeJournalpost.mottaker = new List <Korrespondansepart>
            {
                new Korrespondansepart()
                {
                    navn        = "Mons Mottaker",
                    postadresse = new EnkelAdresse()
                    {
                        adresselinje1 = "Gate 1", postnr = "3801", poststed = "Bø"
                    }
                },
                new Korrespondansepart()
                {
                    navn        = "Foretak Mottaker",
                    postadresse = new EnkelAdresse()
                    {
                        adresselinje1 = "Forretningsgate 1", postnr = "3801", poststed = "Bø"
                    }
                }
            };

            utg.nyUtgaaendeJournalpost.hoveddokument = new ForenkletDokument
            {
                tittel = "Vedtak om tillatelse til ...", filnavn = "vedtak.pdf"
            };

            utg.nyUtgaaendeJournalpost.vedlegg = new List <ForenkletDokument>();
            var vedlegg1 = new ForenkletDokument {
                tittel = "Vedlegg 1", filnavn = "vedlegg.pdf"
            };

            utg.nyUtgaaendeJournalpost.vedlegg.Add(vedlegg1);

            //osv...

            //Konverterer til arkivmelding xml
            var arkivmelding = ArkivmeldingFactory.GetArkivmelding(utg);

            //TODO redigere arkivmelding

            var payload = ArkivmeldingSerializeHelper.Serialize(arkivmelding);

            //Lager FIKS IO melding
            var payloads = new List <IPayload>
            {
                new StringPayload(payload, "utgaaendejournalpost.xml"),
                new FilePayload(Path.Combine("samples", "vedtak.pdf")),
                new FilePayload(Path.Combine("samples", "vedlegg.pdf"))
            };

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

            Console.WriteLine("Melding " + msg.MeldingId.ToString() + " sendt..." + msg.MeldingType + "...med 2 vedlegg");
            Console.WriteLine(payload);
        }
        public Task StartAsync(CancellationToken cancellationToken)
        {
            Console.WriteLine("ePlansak Service is starting.");
            Console.WriteLine("Setter opp FIKS integrasjon for ePlansak...");
            Guid   accountId           = Guid.Parse(config["accountId"]);     /* Fiks IO accountId as Guid Banke kommune digitalt planregister konto*/
            string privateKey          = File.ReadAllText("privkey.pem");;    /* Private key for offentlig nøkkel supplied to Fiks IO account */
            Guid   integrationId       = Guid.Parse(config["integrationId"]); /* Integration id as Guid ePlansak system X */
            string integrationPassword = config["integrationPassword"];       /* Integration password */
            Guid   sendToaccountId     = Guid.Parse(config["sendToAccountId"]);

            // Fiks IO account configuration
            var account = new KontoConfiguration(
                accountId,
                privateKey);

            // Id and password for integration associated to the Fiks IO account.
            var integration = new IntegrasjonConfiguration(
                integrationId,
                integrationPassword, "ks:fiks");

            // ID-porten machine to machine configuration
            var maskinporten = new MaskinportenClientConfiguration(
                audience: @"https://oidc-ver2.difi.no/idporten-oidc-provider/",           // ID-porten audience path
                tokenEndpoint: @"https://oidc-ver2.difi.no/idporten-oidc-provider/token", // ID-porten token path
                issuer: @"arkitektum_test",                                               // issuer name
                numberOfSecondsLeftBeforeExpire: 10,                                      // The token will be refreshed 10 seconds before it expires
                certificate: GetCertificate(config["ThumbprintIdPortenVirksomhetssertifikat"]));

            // Optional: Use custom api host (i.e. for connecting to test api)
            var api = new ApiConfiguration(
                scheme: "https",
                host: "api.fiks.test.ks.no",
                port: 443);

            // Optional: Use custom amqp host (i.e. for connection to test queue)
            var amqp = new AmqpConfiguration(
                host: "io.fiks.test.ks.no",
                port: 5671);

            // Combine all configurations
            var configuration = new FiksIOConfiguration(account, integration, maskinporten, api, amqp);

            client = new FiksIOClient(configuration); // See setup of configuration below

            Guid receiverId = sendToaccountId;        // Receiver id as Guid
            Guid senderId   = accountId;              // Sender id as Guid

            client.NewSubscription(OnReceivedMelding);

            Console.WriteLine("Abonnerer på meldinger på konto " + accountId.ToString() + " ...");

            var messageRequestOpprettePlan = new MeldingRequest(
                mottakerKontoId: receiverId,
                avsenderKontoId: senderId,
                meldingType: "no.geointegrasjon.plan.oppdatering.oppretteplan.v1");                        // Message type as string https://fiks.ks.no/plan.oppretteplanidentinput.v1.schema.json
                                                                                                           //Se oversikt over meldingstyper på https://github.com/ks-no/fiks-io-meldingstype-katalog/tree/test/schema


            string payload = File.ReadAllText("sampleOpprettePlan.json");


            var msg = client.Send(messageRequestOpprettePlan, payload, "meldingOmNyPlan.json").Result;

            Console.WriteLine("Melding " + msg.MeldingId.ToString() + " sendt..." + msg.MeldingType);
            Console.WriteLine(payload);

            //Pause til neste
            Console.WriteLine("Trykke en tast for neste melding");
            Console.ReadKey();
            SendPlanleggingIgangsatt();

            //Pause til neste
            Console.WriteLine("Trykke en tast for neste melding");
            Console.ReadKey();
            SendPlanvedtak();


            return(Task.CompletedTask);
        }
Ejemplo n.º 24
0
        private void SendInngående()
        {
            var receiverId = appSettings.FiksIOConfig.SendToAccountId;                                                               // Receiver id as Guid
            var senderId   = appSettings.FiksIOConfig.FiksIoAccountId;                                                               // Sender id as Guid

            var konto = client.Lookup(new LookupRequest("KOMM:0825", "no.ks.fiks.gi.arkivintegrasjon.oppdatering.forenklet.v1", 3)); //TODO for å finne receiverId
            //Prosess også?

            //Fagsystem definerer ønsket struktur
            var inng = new ArkivmeldingForenkletInnkommende
            {
                sluttbrukerIdentifikator = "Fagsystemets brukerid",
                nyInnkommendeJournalpost = new InnkommendeJournalpost
                {
                    tittel                   = "Bestilling av oppmålingsforretning ...",
                    mottattDato              = DateTime.Today,
                    dokumentetsDato          = DateTime.Today.AddDays(-2),
                    offentlighetsvurdertDato = DateTime.Today,
                    referanseEksternNoekkel  =
                        new EksternNoekkel
                    {
                        fagsystem = "Fagsystem X", noekkel = "e4712424-883c-4068-9cb7-97ac679d7232"
                    },
                    internMottaker =
                        new List <KorrespondansepartIntern>
                    {
                        new KorrespondansepartIntern()
                        {
                            administrativEnhet          = "Oppmålingsetaten",
                            referanseAdministrativEnhet = "b631f24b-48fb-4b5c-838e-6a1f7d56fae2"
                        }
                    },
                    mottaker =
                        new List <Korrespondansepart>
                    {
                        new Korrespondansepart()
                        {
                            navn = "Test kommune",
                            enhetsidentifikator =
                                new Enhetsidentifikator()
                            {
                                organisasjonsnummer = "123456789"
                            },
                            postadresse = new EnkelAdresse()
                            {
                                adresselinje1 = "Oppmålingsetaten",
                                adresselinje2 = "Rådhusgate 1",
                                postnr        = "3801",
                                poststed      = "Bø"
                            }
                        }
                    },
                    avsender = new List <Korrespondansepart>
                    {
                        new Korrespondansepart()
                        {
                            navn     = "Anita Avsender",
                            personid = new Personidentifikator()
                            {
                                personidentifikatorType = "F", personidentifikatorNr = "12345678901"
                            },
                            postadresse = new EnkelAdresse()
                            {
                                adresselinje1 = "Gate 1", postnr = "3801", poststed = "Bø"
                            }
                        }
                    },
                    hoveddokument =
                        new ForenkletDokument
                    {
                        tittel = "Rekvisisjon av oppmålingsforretning", filnavn = "rekvisisjon.pdf"
                    },
                    vedlegg = new List <ForenkletDokument>
                    {
                        new ForenkletDokument()
                        {
                            tittel = "Vedlegg 1", filnavn = "vedlegg.pdf"
                        }
                    },
                }
            };

            //osv...

            //Konverterer til arkivmelding xml
            var arkivmelding = ArkivmeldingFactory.GetArkivmelding(inng);
            var payload      = ArkivmeldingSerializeHelper.Serialize(arkivmelding);

            //Lager FIKS IO melding
            var payloads = new List <IPayload>
            {
                new StringPayload(payload, "innkommendejournalpost.xml"),
                new FilePayload(Path.Combine("samples", "rekvisisjon.pdf")),
                new FilePayload(Path.Combine("samples", "vedlegg.pdf"))
            };

            var messageRequest = new MeldingRequest(
                mottakerKontoId: receiverId,
                avsenderKontoId: senderId,
                meldingType: "no.ks.fiks.gi.arkivintegrasjon.oppdatering.basis.arkivmelding.v1");           // Message type as string
            //Se oversikt over meldingstyper på https://github.com/ks-no/fiks-io-meldingstype-katalog/tree/test/schema
            //Sender til FIKS IO (arkiv løsning)
            var msg = client.Send(messageRequest, payloads).Result;

            Console.WriteLine("Melding ny inngående journalpost " + msg.MeldingId.ToString() + " sendt..." + msg.MeldingType + "...med 2" +
                              " vedlegg");
            Console.WriteLine(payload);
        }