Ejemplo n.º 1
0
        private static void SendMatrikkelFoeringsResponse(Forsendelse message, ByggesakType byggesak)
        {
            string responseXml = PrepareResponseXML(message, byggesak);

            List <dokument> dokumenter       = new List <dokument>();
            dokument        matrikkelRespons = new dokument()
            {
                dokumentType = "ByggesakMatrikkelFøringsRespons",
                data         = System.Text.Encoding.UTF8.GetBytes(responseXml),
                filnavn      = "matrikkelrespons.xml",
                mimetype     = "application/xml"
            };

            dokumenter.Add(matrikkelRespons);

            string orgnrTilKommunen = ConfigurationManager.AppSettings["OrgNrReceiver"];
            // LARS: saksaar & sakssekvensnummer from Byggesak
            string systemId = message.id; //byggesak.systemId; //TODO: Check

            SvarUtService.Send("matrikkelsystem", ForsendelsesTypeGeointegrasjonMatrikkelRespons, "Matrikkelføringsrespons for " + message.tittel, systemId,
                               orgnrTilKommunen, "Matrikkelføringsrespons klient", dokumenter.ToArray(),
                               byggesak.saksnummer.saksaar, byggesak.saksnummer.sakssekvensnummer);
            //             SvarUtService.Send("matrikkelsystem", ForsendelsesTypeGeointegrasjonMatrikkelRespons, "Matrikkelføringsrespons for " + message.tittel, "12345", orgnrTilKommunen, "Matrikkelføringsrespons klient", dokumenter.ToArray(),
            // byggesak.saksnummer.saksaar, byggesak.saksnummer.sakssekvensnummer);
        }
        private static dokument GetDokSituasjonsPlan()
        {
            dokument sitplan = new dokument()
            {
                dokumentType = "Situasjonsplan",
                data         = new byte[1],
                filnavn      = "sitplan.pdf",
                mimetype     = "application/pdf"
            };

            return(sitplan);
        }
        private static dokument GetDokTegninger()
        {
            dokument tegning1 = new dokument()
            {
                dokumentType = "TegningNyttSnitt",
                data         = new byte[1],
                filnavn      = "tegning.pdf",
                mimetype     = "application/pdf"
            };

            return(tegning1);
        }
        private static dokument GetDokByggesaksBim()
        {
            dokument bim = new dokument()
            {
                dokumentType = "ByggesaksBIM",
                data         = File.ReadAllBytes(@"samplefiles\bim.ifc"),
                filnavn      = "bim.ifc",
                mimetype     = "application/ifc"
            };

            return(bim);
        }
        public static dokument CreateKryptertDokument()
        {
            dokument dok = new dokument();

            dok.mimetype = "application/pdf";
            dok.filnavn  = "test.pdf";
            X509Certificate sertifikat = HentX509Certificate();

            KrypterDokumentMedSertifikat(dok, sertifikat);

            return(dok);
        }
Ejemplo n.º 6
0
        private static dokument GetDokSituasjonsPlan(string fileName = @"samplefiles\DokSitplan.pdf")
        {
            dokument sitplan = new dokument()
            {
                dokumentType = "Situasjonsplan",
                data         = new byte[1],
                filnavn      = "sitplan.pdf",
                mimetype     = "application/pdf"
            };

            if (File.Exists(fileName))
            {
                sitplan.data = null;
                sitplan.data = File.ReadAllBytes(fileName);
            }

            return(sitplan);
        }
Ejemplo n.º 7
0
        private static dokument GetDokTegninger(string fileName = @"samplefiles\DokTegning.pdf")
        {
            dokument tegning1 = new dokument()
            {
                dokumentType = "TegningNyttSnitt",
                data         = new byte[1],
                filnavn      = "tegning.pdf",
                mimetype     = "application/pdf"
            };

            if (File.Exists(fileName))
            {
                tegning1.data = null;
                tegning1.data = File.ReadAllBytes(fileName);
            }

            return(tegning1);
        }
        public static forsendelse CreateUkryptertForsendelseForOrgnr(string tittel, string orgnr, byte[] dataBytes)
        {
            var testForsendelse = new forsendelse {
                kryptert = false, tittel = tittel, krevNiva4Innlogging = false, avgivendeSystem = "Avgivende system .Net"
            };

            testForsendelse.mottaker = CreateOrganisasjon(orgnr);
            var dok = new dokument();

            dok.filnavn  = "small.pdf";
            dok.mimetype = "application/pdf";
            dok.data     = dataBytes;
            testForsendelse.dokumenter = new dokument[1] {
                dok
            };
            testForsendelse.printkonfigurasjon = CreatePrintkonfigurasjon();

            return(testForsendelse);
        }
        public static forsendelse CreateUkryptertForsendelse(string tittel)
        {
            var testForsendelse = new forsendelse {
                kryptert = false, tittel = tittel, krevNiva4Innlogging = false, avgivendeSystem = "Avgivende system .Net"
            };

            testForsendelse.mottaker = CreatePrivatPerson();
            var dok = new dokument();

            dok.filnavn  = "small.pdf";
            dok.mimetype = "application/pdf";
            dok.data     = ForsendelseClientSample.Properties.Resources.small_pdf;
            testForsendelse.dokumenter = new dokument[1] {
                dok
            };
            testForsendelse.printkonfigurasjon = CreatePrintkonfigurasjon();

            return(testForsendelse);
        }
Ejemplo n.º 10
0
        /// <summary>
        /// Leser inn alle dokumenter i en sak
        /// </summary>
        /// <param name="message"></param>
        /// <returns>En liste med dokumenter</returns>
        private static async Task <List <dokument> > ReadDocumentsAsync(Forsendelse message)
        {
            if (message.filmetadata.Count > 0)
            {
                List <dokument> dokumenter = new List <dokument>();

                //Read the file to extract the XML
                using (FileStream zipToOpen = new FileStream("forsendelse_" + message.id + ".zip", FileMode.Open))
                {
                    using (ZipArchive archive = new ZipArchive(zipToOpen, ZipArchiveMode.Update))
                    {
                        foreach (var fil in message.filmetadata)
                        {
                            dokument doc = new dokument();
                            doc.dokumentType = fil.dokumentType;
                            doc.mimetype     = fil.mimetype;
                            doc.filnavn      = fil.filnavn;

                            ZipArchiveEntry entry = archive.GetEntry(fil.filnavn);
                            using (StreamReader reader = new StreamReader(entry.Open()))
                            {
                                var response = await reader.ReadToEndAsync();

                                doc.data = System.Text.Encoding.UTF8.GetBytes(response);
                            }
                            dokumenter.Add(doc);
                        }
                    }
                }
                return(dokumenter);
            }
            else
            {
                return(null);
            }
        }
        static void Main(string[] args)
        {
            //Datamodell matrikkelføring
            var             byggesakG0 = new GenerateN0().GenerateSample();
            List <dokument> dokumenter = new List <dokument>();

            string   xml         = writeByggesakXML(byggesakG0);
            dokument byggesakxml = new dokument()
            {
                dokumentType = "Byggesak",
                data         = System.Text.Encoding.UTF8.GetBytes(xml),
                filnavn      = "byggesak.xml",
                mimetype     = "application/xml"
            };

            dokumenter.Add(byggesakxml);

            //
            // G0: Saksnummer / url på vedtak
            //

            //Rammesøknad
            SendByggesakToSvarut(byggesakG0, dokumenter);
            // Endringssøknad
            byggesakG0 = new GenerateN0().GenerateSample1();
            SendByggesakToSvarut(byggesakG0, dokumenter);
            // Igangsettingssøknad  av byggetrinn 1
            byggesakG0 = new GenerateN0().GenerateSample2();
            SendByggesakToSvarut(byggesakG0, dokumenter);
            // Igangsettingssøknad  av byggetrinn 2
            byggesakG0 = new GenerateN0().GenerateSample3();
            SendByggesakToSvarut(byggesakG0, dokumenter);
            // Midlertidig brukstillatelse
            byggesakG0 = new GenerateN0().GenerateSample4();
            SendByggesakToSvarut(byggesakG0, dokumenter);
            // Ferdigattest
            byggesakG0 = new GenerateN0().GenerateSample5();
            SendByggesakToSvarut(byggesakG0, dokumenter);

            // Ett trinn
            byggesakG0 = new GenerateN0().GenerateSample6();
            SendByggesakToSvarut(byggesakG0, dokumenter);

            // Tiltak uten ansvarsrett
            byggesakG0 = new GenerateN0().GenerateSample7();
            SendByggesakToSvarut(byggesakG0, dokumenter);

            Console.WriteLine("Sendte 7 meldinger med nivå 0, Saksnummer på vedtak");

            //
            // G1: Gjeldende tegninger og (vanlig) situasjonsplan
            //
            var byggesakG1 = new GenerateN1().GenerateSample();
            var tegning1   = GetDokTegninger();

            dokumenter.Add(tegning1);
            var sitplan = GetDokSituasjonsPlan();

            dokumenter.Add(sitplan);

            SendByggesakToSvarut(byggesakG1, dokumenter);
            Console.WriteLine("Sendte melding med nivå 1, Gjeldende tegninger");

            //
            // G2: Matrikkelopplysninger
            //
            //
            var byggesakG2 = new GenerateN2().GenerateSample();

            SendByggesakToSvarut(byggesakG2, dokumenter);
            Console.WriteLine("Sendte melding med nivå 2, med matrikkelopplysninger for enebolig");

            byggesakG2 = new GenerateN2().GenerateSample2();
            SendByggesakToSvarut(byggesakG2, dokumenter);
            Console.WriteLine("Sendte melding med nivå 2, med matrikkelopplysninger for 5 tomannsboliger");

            //TODO - delvis godkjent vedtak , tilbygg med løpenr/bygningsendringer? riving
            //seksjonerte eiendommer

            //
            // G3: ByggesaksBIM
            //
            var bim = GetDokByggesaksBim();

            dokumenter.Add(bim);
            var byggesakG3 = new GenerateN2().GenerateSample();

            SendByggesakToSvarut(byggesakG3, dokumenter);
            Console.WriteLine("Sendte melding med nivå 3, med BIM");

            //
            // G4: digital situasjonsplan
            //

            //Console.WriteLine("Sendte melding med nivå 4, med digital situasjonsplan");

            Console.WriteLine("pause");
        }
 private static void KrypterDokumentMedSertifikat(dokument dok, X509Certificate sertifikat)
 {
     byte[] ukryptertBytes = ForsendelseClientSample.Properties.Resources.small_pdf;
     byte[] kryptertData   = CMSDataKryptering.KrypterData(ukryptertBytes, sertifikat);
     dok.data = kryptertData;
 }
Ejemplo n.º 13
0
        private static void ReplaceByggesakXmlDoc(ByggesakType byggesak, List <dokument> dokumenter, dokument byggesakxml)
        {
            string xml = writeByggesakXML(byggesak);

            dokumenter.Remove(byggesakxml);
            byggesakxml.data = System.Text.Encoding.UTF8.GetBytes(xml);
            dokumenter.Add(byggesakxml);
        }
Ejemplo n.º 14
0
        static void Main(string[] args)
        {
            int nivaa = 0;

            if (args.Length == 0)
            {
                // default, kjør alt
            }
            else if (args.Length == 1)
            {
                if (!Int32.TryParse(args[0], out nivaa))
                {
                    nivaa = 0;
                }
            }


            //Datamodell matrikkelføring
            var             byggesakG0 = new GenerateN0().GenerateSample();
            List <dokument> dokumenter = new List <dokument>();

            string   xml         = writeByggesakXML(byggesakG0);
            dokument byggesakxml = new dokument()
            {
                dokumentType = "Byggesak",
                data         = System.Text.Encoding.UTF8.GetBytes(xml),
                filnavn      = "byggesak.xml",
                mimetype     = "application/xml"
            };

            dokumenter.Add(byggesakxml);

            //
            // G0: Saksnummer / url på vedtak
            //
            if (nivaa <= 0)
            {
                //Rammesøknad
                SendByggesakToSvarut(byggesakG0, dokumenter);

                // Endringssøknad
                byggesakG0 = new GenerateN0().GenerateSample1();
                ReplaceByggesakXmlDoc(byggesakG0, dokumenter, byggesakxml);// LARS
                SendByggesakToSvarut(byggesakG0, dokumenter);

                // Igangsettingssøknad  av byggetrinn 1
                byggesakG0 = new GenerateN0().GenerateSample2();
                ReplaceByggesakXmlDoc(byggesakG0, dokumenter, byggesakxml);// LARS
                SendByggesakToSvarut(byggesakG0, dokumenter);

                // Igangsettingssøknad  av byggetrinn 2
                byggesakG0 = new GenerateN0().GenerateSample3();
                ReplaceByggesakXmlDoc(byggesakG0, dokumenter, byggesakxml);// LARS
                SendByggesakToSvarut(byggesakG0, dokumenter);

                // Midlertidig brukstillatelse
                byggesakG0 = new GenerateN0().GenerateSample4();
                ReplaceByggesakXmlDoc(byggesakG0, dokumenter, byggesakxml);// LARS
                SendByggesakToSvarut(byggesakG0, dokumenter);

                // Ferdigattest
                byggesakG0 = new GenerateN0().GenerateSample5();
                ReplaceByggesakXmlDoc(byggesakG0, dokumenter, byggesakxml);// LARS
                SendByggesakToSvarut(byggesakG0, dokumenter);

                // Ett trinn
                byggesakG0 = new GenerateN0().GenerateSample6();
                ReplaceByggesakXmlDoc(byggesakG0, dokumenter, byggesakxml);// LARS
                SendByggesakToSvarut(byggesakG0, dokumenter);

                // Tiltak uten ansvarsrett
                byggesakG0 = new GenerateN0().GenerateSample7();
                ReplaceByggesakXmlDoc(byggesakG0, dokumenter, byggesakxml);// LARS
                SendByggesakToSvarut(byggesakG0, dokumenter);

                Console.WriteLine("Sendte 7 meldinger med nivå 0, Saksnummer på vedtak");
            }

            //
            // G1: Gjeldende tegninger og (vanlig) situasjonsplan
            //
            var byggesakG1 = new GenerateN1().GenerateSample();
            var tegning1   = GetDokTegninger();

            dokumenter.Add(tegning1);
            var sitplan = GetDokSituasjonsPlan();

            dokumenter.Add(sitplan);
            if (nivaa <= 1)
            {
                ReplaceByggesakXmlDoc(byggesakG1, dokumenter, byggesakxml);// LARS
                SendByggesakToSvarut(byggesakG1, dokumenter);
                Console.WriteLine("Sendte melding med nivå 1, Gjeldende tegninger");
            }

            //
            // G2: Matrikkelopplysninger
            //
            //
            var byggesakG2 = new GenerateN2().GenerateSample();

            if (nivaa <= 2)
            {
                ReplaceByggesakXmlDoc(byggesakG2, dokumenter, byggesakxml); // LARS

                SendByggesakToSvarut(byggesakG2, dokumenter);
                Console.WriteLine("Sendte melding med nivå 2, med matrikkelopplysninger for enebolig");
            }

            if (nivaa <= 2)
            {
                byggesakG2 = new GenerateN2().GenerateSample2();
                ReplaceByggesakXmlDoc(byggesakG2, dokumenter, byggesakxml);// LARS
                SendByggesakToSvarut(byggesakG2, dokumenter);
                Console.WriteLine("Sendte melding med nivå 2, med matrikkelopplysninger for 5 tomannsboliger");

                //TODO - delvis godkjent vedtak , tilbygg med løpenr/bygningsendringer? riving
                //seksjonerte eiendommer
            }

            //
            // G3: ByggesaksBIM med Matrikkelopplysninger
            //
            if (nivaa <= 3)
            {
                var bim = GetDokByggesaksBim();
                dokumenter.Add(bim);
                var byggesakG3 = new GenerateN2().GenerateSample();
                ReplaceByggesakXmlDoc(byggesakG3, dokumenter, byggesakxml);// LARS
                SendByggesakToSvarut(byggesakG3, dokumenter);
                Console.WriteLine("Sendte melding med nivå 3, med BIM");
            }


            //
            // G3: ByggesaksBIM med Matrikkelopplysninger for Retorten i Trondheim
            //
            if (nivaa <= 4)
            {
                //dokumenter.Remove(tegning1);

                var bim = GetDokByggesaksBim(@"samplefiles\NTNU Retorten eByggesak v23.ifc");
                //var bim = GetDokByggesaksBim(@"samplefiles\NTNU Retorten eByggesak.ifc");

                dokumenter.Add(bim);
                var byggesakG3 = new GenerateN2N3_NOIS().GenerateSampleRetorten();
                ReplaceByggesakXmlDoc(byggesakG3, dokumenter, byggesakxml);// LARS
                SendByggesakToSvarut(byggesakG3, dokumenter);
                Console.WriteLine("Sendte melding med nivå 3, med BIM");
            }


            //
            // Arguments > 10: special test NOIS cases
            //

            //
            // G1 / G3: ByggesaksBIM uten Matrikkelopplysninger, men med BIM for Retorten i Trondheim
            //
            if (nivaa == 13)
            {
                var bim = GetDokByggesaksBim(@"samplefiles\NTNU Retorten eByggesak v23.ifc");
                dokumenter.Add(bim);
                var byggesakG3 = new GenerateN2N3_NOIS().GenerateSampleRetorten(withMatrikkelOpplysninger: false);
                ReplaceByggesakXmlDoc(byggesakG3, dokumenter, byggesakxml);// LARS
                SendByggesakToSvarut(byggesakG3, dokumenter);
                Console.WriteLine("Sendte melding med nivå 1/3, med BIM, men uten Matrikkelopplysninger ");
            }

            //
            // G1 / G3: ByggesaksBIM uten Matrikkelopplysninger men BIM som er korrupt (inneholder ikke Matrikkelopplysninger)
            //
            if (nivaa == 14)
            {
                var bim = GetDokByggesaksBim(@"samplefiles\medFeil_OneWall.ifc");
                dokumenter.Add(bim);
                var byggesakG3 = new GenerateN2N3_NOIS().GenerateSampleRetorten(withMatrikkelOpplysninger: false);
                ReplaceByggesakXmlDoc(byggesakG3, dokumenter, byggesakxml);// LARS
                SendByggesakToSvarut(byggesakG3, dokumenter);
                Console.WriteLine("Sendte melding med nivå 1/3, med illegal BIM, uten Matrikkelopplysninger ");
            }

            if (nivaa == 15)
            {
                //var bim = GetDokByggesaksBim();
                //dokumenter.Add(bim);
                var byggesakG3 = new GenerateN2N3_NOIS().SlettEtasjeOgBruksenhet();
                ReplaceByggesakXmlDoc(byggesakG3, dokumenter, byggesakxml);
                SendByggesakToSvarut(byggesakG3, dokumenter);
                Console.WriteLine("Sendte melding med nivå 2, SlettEtasjeOgBruksenhet, med matrikkelopplysninger");
            }

            if (nivaa == 16)
            {
                //var bim = GetDokByggesaksBim();
                //dokumenter.Add(bim);
                var byggesakG3 = new GenerateN2N3_NOIS().RivGarasjeByggEnebolig();
                ReplaceByggesakXmlDoc(byggesakG3, dokumenter, byggesakxml);
                SendByggesakToSvarut(byggesakG3, dokumenter);
                Console.WriteLine("Sendte melding med nivå 2, RivGarasjeByggEnebolig, med matrikkelopplysninger");
            }



            //
            // G4: digital situasjonsplan
            //

            //Console.WriteLine("Sendte melding med nivå 4, med digital situasjonsplan");

            Console.WriteLine("pause");
        }