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); }
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); }
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); }
/// <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; }
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); }
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"); }