예제 #1
0
        public void Send(ByggesakType byggesak, string sendToOrganizationNumber, string sendToName, dokument[] dokumenter)
        {
            string tittel   = byggesak.tittel;
            string systemId = byggesak.systemId;

            Send(tittel, systemId, sendToOrganizationNumber, sendToName, dokumenter);
        }
예제 #2
0
        public ByggesakType GenerateSample()
        {
            //Nivå 1 - Nivå 0 + gjeldende tegninger
            var byggesak = new ByggesakType();

            byggesak.adresse    = "Byggestedgate 1";
            byggesak.tittel     = "Rammesøknad for enebolig i Byggestedgate 1";
            byggesak.saksnummer = new SaksnummerType()
            {
                saksaar = "2018", sakssekvensnummer = "123456"
            };
            byggesak.kategori = new ProsesskategoriType()
            {
                kode = "RS", beskrivelse = "Søknad om rammetillatelse"
            };
            byggesak.tiltakstype = new[] { new TiltaktypeType()
                                           {
                                               kode = "nyttbyggboligformal", beskrivelse = "Nytt bygg - boligformål"
                                           } };
            byggesak.vedtak = new VedtakType()
            {
                beskrivelse = "Vedtak om rammetillatelse", status = new VedtakstypeType()
                {
                    kode = "1", beskrivelse = "Godkjent"
                }, vedtaksdato = DateTime.Now
            };


            return(byggesak);
        }
예제 #3
0
        public ByggesakType GetByggesakTilbyggDisp()
        {
            var url     = HttpContext.Current.Request.Url;
            var baseUri =
                new UriBuilder(
                    url.Scheme,
                    url.Host,
                    url.Port).Uri;

            ByggesakType m = new ByggesakType();

            m.tittel     = "Plassering av tilbygg utenfor byggegrense - Hegdalveien 87 - Gbnr: 1019/23, 62";
            m.systemId   = "R123456789";
            m.saksnummer = new SaksnummerType()
            {
                saksaar = "2013", sakssekvensnummer = "1892"
            };
            m.adresse = "Hegdalveien 87";



            List <LinkType> linker = new List <LinkType>();

            linker.Add(Set.addLink(baseUri, "api/byggesak/" + m.systemId, "self"));
            linker.Add(Set.addTempLink(baseUri, "api/byggesak/" + m.systemId + "/prosesser", Set._REL + "/prosess", "?$filter&$orderby&$top&$skip&$search"));

            m.Links = linker.ToArray();
            if (m == null)
            {
                throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotFound));
            }

            return(m);
        }
예제 #4
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);
        }
예제 #5
0
        /// <summary>
        ///Nivå 0 - kun beskjed om godkjent vedtak på igangsettingsøknad med saksnummer - matrikkelfører må selv finne korrekt underlag i saken
        ///Brukstilfelle matrikkel - 8.6.2 Nybygg, nytt bygg - igangsettingstillatelse gitt
        ///Mer om søknaden - https://dibk-utvikling.atlassian.net/wiki/spaces/FB/pages/20021280/S+knad+om+igangsettingstillatelse
        /// </summary>
        /// <returns></returns>
        public ByggesakType GenerateSample2()
        {
            var byggesak = new ByggesakType();

            byggesak.adresse    = "Byggestedgate 1";
            byggesak.tittel     = "Igangsettingssøknad for enebolig i Byggestedgate 1 - byggetrinn 1";
            byggesak.saksnummer = new SaksnummerType()
            {
                saksaar = "2018", sakssekvensnummer = "123456"
            };
            byggesak.kategori = new ProsesskategoriType()
            {
                kode = "IG", beskrivelse = "Søknad om igangsettingstillatelse"
            };
            byggesak.tiltakstype = new[] { new TiltaktypeType()
                                           {
                                               kode = "nyttbyggboligformal", beskrivelse = "Nytt bygg - boligformål"
                                           } };
            byggesak.vedtak = new VedtakType()
            {
                beskrivelse = "Vedtak om igangsettingstillatelse av byggetrinn 1", status = new VedtakstypeType()
                {
                    kode = "1", beskrivelse = "Godkjent"
                }, vedtaksdato = DateTime.Now
            };

            return(byggesak);
        }
예제 #6
0
        private static string PrepareResponseXML(Forsendelse message, ByggesakType byggesak)
        {
            string[] bygningsNummer;
            if (byggesak.matrikkelopplysninger == null)
            {
                //We make up something to pretend we've added a new building
                Random rnd = new Random();
                bygningsNummer = new string[] { rnd.Next(10000, 100000).ToString() };
            }
            else
            {
                bygningsNummer = byggesak.matrikkelopplysninger.bygning.Select(bygning => bygning.bygningsnummer).ToArray();

                if (bygningsNummer[0] == null)
                {
                    //We make up something to pretend we've added a new building
                    Random rnd = new Random();
                    bygningsNummer = new string[] { rnd.Next(10000, 100000).ToString() };
                }
            }

            MatrikkelFoeringsResponsType responseMessage = new MatrikkelFoeringsResponsType()
            {
                bygningsnummer = bygningsNummer,
                saksnummer     = new no.geointegrasjon.rep.matrikkelfoeringsrespons.SaksnummerType()
                {
                    //Tostring because XSD.exe maps xml:integer to string because it's not bounded like int32
                    //TODO: Check assumption that ids may be larger than int32
                    saksaar           = message.metadataForImport.saksaar.ToString(),          //saksaar = byggesak.saksnummer.saksaar, //message.metadataFraAvleverendeSystem.saksaar.ToString(),
                    sakssekvensnummer = message.metadataForImport.sakssekvensnummer.ToString() //sakssekvensnummer = byggesak.saksnummer.sakssekvensnummer //message.metadataFraAvleverendeSystem.sakssekvensnummer.ToString()
                }
            };

            return(writeMatrikkelFoeringsResponsXML(responseMessage));
        }
예제 #7
0
        public void Send(ByggesakType byggesak, string sendToOrganizationNumber, string sendToName, dokument[] dokumenter)
        {
            string tittel   = byggesak.tittel;
            string systemId = byggesak.systemId;

            // LARS: saksaar & sakssekvensnummer from Byggesak
            Send(tittel, systemId, sendToOrganizationNumber, sendToName, dokumenter, byggesak.saksnummer.saksaar, byggesak.saksnummer.sakssekvensnummer);
        }
예제 #8
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);
        }
        private static string writeByggesakXML(ByggesakType byggesakG0)
        {
            var serializer   = new System.Xml.Serialization.XmlSerializer(byggesakG0.GetType());
            var stringWriter = new Utf8StringWriter();

            serializer.Serialize(stringWriter, byggesakG0);
            string xml = stringWriter.ToString();

            return(xml);
        }
        private static void SendByggesakToSvarut(ByggesakType byggesak, List <dokument> dokumenter)
        {
            //*** Vedleggstyper
            // Situasjonsplan, Avkjoerselsplan,
            // TegningEksisterendePlan, TegningNyPlan, TegningEksisterendeSnitt, TegningNyttSnitt, TegningEksisterendeFasade, TegningNyFasade
            // ByggesaksBIM
            // Vedtak
            // - se beskrivelse https://dibk-utvikling.atlassian.net/wiki/spaces/FB/pages/270139400/Vedlegg


            //Opplasting FIKS
            var    svarut           = new SvarUtService();
            string orgnrTilKommunen = ConfigurationManager.AppSettings["OrgNrReceiver"];

            svarut.Send(byggesak, orgnrTilKommunen, "Matrikkelføring klient", dokumenter.ToArray());
        }
예제 #11
0
        public ByggesakType GetByggesak(string id)
        {
            var url     = HttpContext.Current.Request.Url;
            var baseUri =
                new UriBuilder(
                    url.Scheme,
                    url.Host,
                    url.Port).Uri;

            ByggesakType m = new ByggesakType();

            if (id == "R123456789")
            {
                m = GetByggesakTilbyggDisp();
            }
            else
            {
                m.tittel     = "Enebolig testgate 26";
                m.systemId   = id;
                m.saksnummer = new SaksnummerType()
                {
                    saksaar = "2014", sakssekvensnummer = "12345"
                };
                m.adresse        = "testgate 26";
                m.bygningsnummer = 123456789;
                List <SaksnummerType> referanser = new List <SaksnummerType>();
                referanser.Add(new SaksnummerType()
                {
                    saksaar = "2014", sakssekvensnummer = "123"
                });
                m.referanseAndreSaker            = new SaksnummerListe();
                m.referanseAndreSaker.saksnummer = referanser.ToArray();


                List <LinkType> linker = new List <LinkType>();
                linker.Add(Set.addLink(baseUri, "api/byggesak/" + m.systemId, "self"));
                linker.Add(Set.addTempLink(baseUri, "api/byggesak/" + m.systemId + "/prosesser", Set._REL + "/prosess", "?$filter&$orderby&$top&$skip&$search"));

                m.Links = linker.ToArray();
            }
            if (m == null)
            {
                throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.NotFound));
            }

            return(m);
        }
        private static async Task ProcessWaitingMessage(HttpClient client, Forsendelse message)
        {
            Console.WriteLine("--------------------------------");
            Console.WriteLine("Tittel: " + message.tittel);
            Console.WriteLine("Forsendelses-ID: " + message.id);

            //Check if it's the right type (making sure FIKS is not misconfigured)
            if (message.forsendelseType != ForsendelsesTypeGeointegrasjonMatrikkel)
            {
                //If not, deny handling the message by sending a negative receipt
                Console.WriteLine("Kan ikke håndtere denne meldingen, sender  negativ håndteringsrespons");
                await DenyHandlingMessage(client, message.id);

                return;
            }

            Console.WriteLine("Melding er av riktig forsendelsestype.");

            //If OK, download files (Always a zip in our example, can be a single PDF in other cases)

            await DownloadAndDecryptMessageFile(client, message.id, message.downloadUrl);

            ByggesakType byggesak = await readByggeSakXml(message);

            Console.WriteLine("Melding er lastet ned, dekryptert og innlest.");

            //Send receipt that message was handled
            await client.PostAsync(string.Format(UrlMottakVelykket, message.id), new StringContent(""));

            Console.WriteLine("Mottak av melding bekreftet til SvarInn");

            //Pretend we do something interesting with the data, then possibly send a response
            Console.WriteLine("Trykk y og enter for å sende returbeskjed med SvarUt om at matrikkelen har (liksom) blitt oppdatert, eller bare enter for å ikke gjøre det.");
            bool sendProcessedResponse = (Console.ReadLine() == "y");

            if (sendProcessedResponse)
            {
                //Send a return message that the data has been acted on
                SendMatrikkelFoeringsResponse(message, byggesak);
                Console.WriteLine("Returbeskjed sendt, går videre til neste melding.");
            }
            else
            {
                Console.WriteLine("Går videre til neste melding uten å sende returbeskjed.");
            }
        }
예제 #13
0
        private static async Task <bool> ProcessWaitingMessage(HttpClient client, Forsendelse message)
        {
            Console.WriteLine("--------------------------------");
            Console.WriteLine("Tittel: " + message.tittel);
            Console.WriteLine("Forsendelses-ID: " + message.id);

            //Check if it's the right type (making sure FIKS is not misconfigured)
            if (message.forsendelseType != ForsendelsesTypeGeointegrasjonMatrikkel)
            {
                //If not, deny handling the message by sending a negative receipt
                Console.WriteLine("Kan ikke håndtere denne meldingen, sender  negativ håndteringsrespons");
                //await DenyHandlingMessage(client, message.id); // denne tar tid
                return(false);
            }



            Console.WriteLine("Melding er av riktig forsendelsestype. ID:" + message.id);

            if (false)
            {
                if (message.id != "1815c285-1226-4b2f-ad66-731bfff24578")
                {
                    Console.WriteLine("Test på filter med ID. Kan ikke håndtere denne meldingen, sender  negativ håndteringsrespons");
                    //await DenyHandlingMessage(client, message.id); // denne tar tid
                    return(false);
                }
            }

            // The message.Date is of type Unixtime
            Console.WriteLine("Meldingsdato:" + UnixTimeToDateTime(message.date));
            //dateTime dt = new DateTime(message.date);

            //If OK, download files (Always a zip in our example, can be a single PDF in other cases)

            await DownloadAndDecryptMessageFile(client, message.id, message.downloadUrl);

            ByggesakType byggesak = await readByggeSakXml(message);

            Console.WriteLine("Melding er lastet ned, dekryptert og innlest.");

            // Ikke send mottat melding her
            if (false)
            {
                //Send receipt that message was handled
                await client.PostAsync(string.Format(UrlMottakVelykket, message.id), new StringContent(""));

                Console.WriteLine("Mottak av melding bekreftet til SvarInn");
            }

            //Pretend we do something interesting with the data, then possibly send a response
            Console.WriteLine("Trykk y og enter for å sende returbeskjed med SvarUt om at matrikkelen har (liksom) blitt oppdatert, c for å avbryte, eller bare enter for å ikke gjøre det.");
            string responseConsole       = Console.ReadLine();
            bool   sendProcessedResponse = (responseConsole == "y");
            bool   cancelProcessResponse = (responseConsole == "c");

            if (sendProcessedResponse)
            {
                if (true)
                {
                    //Send receipt that message was handled
                    await client.PostAsync(string.Format(UrlMottakVelykket, message.id), new StringContent(""));

                    Console.WriteLine("Mottak av melding bekreftet til SvarInn");
                    //await Task.Delay(100).ConfigureAwait(false); // TEST
                }

                //Send a return message that the data has been acted on
                SendMatrikkelFoeringsResponse(message, byggesak);
                Console.WriteLine("Returbeskjed sendt, går videre til neste melding.");
            }
            else if (cancelProcessResponse)
            {
                // Simulerer at en sak er lastet ned, men bruker ønsker å avbryte.
                // En kopi av saken sendes da inn på nytt i mangel av metode for å gjøre dette mot SvarUt/SvarInn,
                if (true)
                {
                    //Send receipt that message was handled
                    await client.PostAsync(string.Format(UrlMottakVelykket, message.id), new StringContent(""));

                    Console.WriteLine("Mottak av melding bekreftet til SvarInn");
                    //await Task.Delay(100).ConfigureAwait(false); // TEST
                }

                //Send a return message that the data has cancelled
                CopyMessageAndSendInAsNew(message);
                Console.WriteLine("Returbeskjed sendt, går videre til neste melding.");
            }
            else
            {
                Console.WriteLine("Går videre til neste melding uten å sende returbeskjed.");
                //await DenyHandlingMessage(client, message.id); // denne tar tid
            }

            return(true);
        }
예제 #14
0
        /// <summary>
        ///Nivå 2 - Beskjed om godkjent vedtak på rammesøknad - med mange adresser
        ///Brukstilfelle matrikkel - 8.6.1 Nybygg, nytt bygg - rammetillatelse gitt
        ///Søknaden må etterfølges med minst en igangsettingssøknad
        ///Mer om søknaden - https://dibk-utvikling.atlassian.net/wiki/spaces/FB/pages/31129620/S+knad+om+rammetillatelse
        /// </summary>
        /// <returns>Byggesak med utfylt matrikkelopplysninger for oppføring av 5 tomannsboliger</returns>
        public ByggesakType GenerateSample2()
        {
            var byggesak = new ByggesakType();

            byggesak.adresse    = "Byggestedgate 3 - 11";
            byggesak.tittel     = "Rammesøknad for oppføring av 5 tomannsboliger";
            byggesak.saksnummer = new SaksnummerType()
            {
                saksaar = "2018", sakssekvensnummer = "123456"
            };
            byggesak.kategori = new ProsesskategoriType()
            {
                kode = "RS", beskrivelse = "Søknad om rammetillatelse"
            };
            byggesak.tiltakstype = new[] { new TiltaktypeType()
                                           {
                                               kode = "nyttbyggboligformal", beskrivelse = "Nytt bygg - boligformål"
                                           } };
            byggesak.vedtak = new VedtakType()
            {
                beskrivelse = "Vedtak om rammetillatelse", status = new VedtakstypeType()
                {
                    kode = "1", beskrivelse = "Godkjent"
                }, vedtaksdato = DateTime.Now
            };
            byggesak.saksbehandler   = "Michael";
            byggesak.ansvarligSoeker = new PartType()
            {
                navn = "Arkitekt Flink", organisasjonsnummer = "123456789"
            };
            byggesak.tiltakshaver = new PartType()
            {
                navn = "Hans Utbygger", foedselsnummer = "12345678901"
            };

            byggesak.matrikkelopplysninger         = new MatrikkelopplysningerType();
            byggesak.matrikkelopplysninger.adresse = new[]
            {
                new AdresseType()
                {
                    adressekode = "1001", adressenavn = "Byggestedgate", adressenummer = "3", adressebokstav = "A"
                },
                new AdresseType()
                {
                    adressekode = "1001", adressenavn = "Byggestedgate", adressenummer = "3", adressebokstav = "B"
                },
                new AdresseType()
                {
                    adressekode = "1001", adressenavn = "Byggestedgate", adressenummer = "5", adressebokstav = "A"
                },
                new AdresseType()
                {
                    adressekode = "1001", adressenavn = "Byggestedgate", adressenummer = "5", adressebokstav = "B"
                },
                new AdresseType()
                {
                    adressekode = "1001", adressenavn = "Byggestedgate", adressenummer = "7", adressebokstav = "A"
                },
                new AdresseType()
                {
                    adressekode = "1001", adressenavn = "Byggestedgate", adressenummer = "7", adressebokstav = "B"
                },
                new AdresseType()
                {
                    adressekode = "1001", adressenavn = "Byggestedgate", adressenummer = "9", adressebokstav = "A"
                },
                new AdresseType()
                {
                    adressekode = "1001", adressenavn = "Byggestedgate", adressenummer = "9", adressebokstav = "B"
                },
                new AdresseType()
                {
                    adressekode = "1001", adressenavn = "Byggestedgate", adressenummer = "11", adressebokstav = "A"
                },
                new AdresseType()
                {
                    adressekode = "1001", adressenavn = "Byggestedgate", adressenummer = "11", adressebokstav = "B"
                },
            };
            byggesak.matrikkelopplysninger.eiendomsidentifikasjon = new[]
            {
                new MatrikkelnummerType()
                {
                    kommunenummer = "9999", gaardsnummer = "260", bruksnummer = "109"
                }
            };
            byggesak.matrikkelopplysninger.bygning = new[]
            {
                new BygningType
                {
                    bebygdAreal          = 100,
                    bebygdArealSpecified = true,
                    bygningstype         = new BygningstypeType()
                    {
                        kode        = "121",
                        beskrivelse = "Tomannsbolig, vertikaldelt"     //ref kodeliste https://register.geonorge.no/subregister/byggesoknad/direktoratet-for-byggkvalitet/bygningstype
                    },
                    naeringsgruppe = new NaeringsgruppeType()
                    {
                        kode        = "X",
                        beskrivelse = "Bolig"     //ref kodeliste https://register.geonorge.no/subregister/byggesoknad/direktoratet-for-byggkvalitet/naeringsgruppe
                    },
                    etasjer = new[]
                    {
                        new EtasjeType
                        {
                            etasjeplan = new EtasjeplanType
                            {
                                kode        = "H",
                                beskrivelse = "H"
                            },
                            etasjenummer                = "01",
                            antallBoenheter             = "1",
                            bruksarealTotalt            = 200,
                            bruksarealTotaltSpecified   = true,
                            bruksarealTilAnnet          = 0,
                            bruksarealTilAnnetSpecified = true,
                            bruksarealTilBolig          = 200,
                            bruksarealTilBoligSpecified = true,
                            endring = EndringsstatusType.Ny
                        }
                    },
                    bruksenheter = new[]
                    {
                        new BruksenhetType
                        {
                            bruksenhetsnummer = new BruksenhetsnummerType
                            {
                                etasjeplan = new EtasjeplanType
                                {
                                    kode        = "H",
                                    beskrivelse = "H"
                                },
                                etasjenummer = "01",
                                loepenummer  = "01"
                            },
                            bruksenhetstype = new BruksenhetstypeKodeType
                            {
                                kode        = "B",
                                beskrivelse = "Bolig"
                            },
                            kjoekkentilgang = new KjoekkentilgangKodeType
                            {
                                kode        = "0",
                                beskrivelse = "Ikke oppgitt"
                            },
                            bruksareal          = 100,
                            bruksarealSpecified = true,
                            antallRom           = "3",
                            antallBad           = "1",
                            antallWC            = "1",
                            adresse             = new AdresseType
                            {
                                adressekode    = "1001",
                                adressenavn    = "Byggestedgate",
                                adressenummer  = "3",
                                adressebokstav = "A"
                            },
                            endring = EndringsstatusType.Ny
                        },
                        new BruksenhetType
                        {
                            bruksenhetsnummer = new BruksenhetsnummerType
                            {
                                etasjeplan = new EtasjeplanType
                                {
                                    kode        = "H",
                                    beskrivelse = "H"
                                },
                                etasjenummer = "01",
                                loepenummer  = "01"
                            },
                            bruksenhetstype = new BruksenhetstypeKodeType
                            {
                                kode        = "B",
                                beskrivelse = "Bolig"
                            },
                            kjoekkentilgang = new KjoekkentilgangKodeType
                            {
                                kode        = "0",
                                beskrivelse = "Ikke oppgitt"
                            },
                            bruksareal          = 100,
                            bruksarealSpecified = true,
                            antallRom           = "3",
                            antallBad           = "1",
                            antallWC            = "1",
                            adresse             = new AdresseType
                            {
                                adressekode    = "1001",
                                adressenavn    = "Byggestedgate",
                                adressenummer  = "3",
                                adressebokstav = "B"
                            },
                            endring = EndringsstatusType.Ny
                        }
                    },
                    avlop = new AvloepstilknytningType()
                    {
                        kode        = "OffentligKloakk",
                        beskrivelse = "Offentlig avløpsanlegg"     //ref kodeliste https://register.geonorge.no/subregister/byggesoknad/direktoratet-for-byggkvalitet/avlopstilknytning
                    },

                    vannforsyning = new VanntilknytningType()
                    {
                        kode        = "TilknyttetOffVannverk", //ref https://register.geonorge.no/subregister/byggesoknad/direktoratet-for-byggkvalitet/vanntilknytning
                        beskrivelse = "Offentlig vannverk"
                    },
                    harHeis          = false,
                    harHeisSpecified = true,
                    endring          = EndringsstatusType.Ny
                },
                new BygningType
                {
                    bebygdAreal          = 100,
                    bebygdArealSpecified = true,
                    bygningstype         = new BygningstypeType()
                    {
                        kode        = "121",
                        beskrivelse = "Tomannsbolig, vertikaldelt"     //ref kodeliste https://register.geonorge.no/subregister/byggesoknad/direktoratet-for-byggkvalitet/bygningstype
                    },
                    naeringsgruppe = new NaeringsgruppeType()
                    {
                        kode        = "X",
                        beskrivelse = "Bolig"     //ref kodeliste https://register.geonorge.no/subregister/byggesoknad/direktoratet-for-byggkvalitet/naeringsgruppe
                    },
                    etasjer = new[]
                    {
                        new EtasjeType
                        {
                            etasjeplan = new EtasjeplanType
                            {
                                kode        = "H",
                                beskrivelse = "H"
                            },
                            etasjenummer                = "01",
                            antallBoenheter             = "1",
                            bruksarealTotalt            = 200,
                            bruksarealTotaltSpecified   = true,
                            bruksarealTilAnnet          = 0,
                            bruksarealTilAnnetSpecified = true,
                            bruksarealTilBolig          = 200,
                            bruksarealTilBoligSpecified = true,
                            endring = EndringsstatusType.Ny
                        }
                    },
                    bruksenheter = new[]
                    {
                        new BruksenhetType
                        {
                            bruksenhetsnummer = new BruksenhetsnummerType
                            {
                                etasjeplan = new EtasjeplanType
                                {
                                    kode        = "H",
                                    beskrivelse = "H"
                                },
                                etasjenummer = "01",
                                loepenummer  = "01"
                            },
                            bruksenhetstype = new BruksenhetstypeKodeType
                            {
                                kode        = "B",
                                beskrivelse = "Bolig"
                            },
                            kjoekkentilgang = new KjoekkentilgangKodeType
                            {
                                kode        = "0",
                                beskrivelse = "Ikke oppgitt"
                            },
                            bruksareal          = 100,
                            bruksarealSpecified = true,
                            antallRom           = "3",
                            antallBad           = "1",
                            antallWC            = "1",
                            adresse             = new AdresseType
                            {
                                adressekode    = "1001",
                                adressenavn    = "Byggestedgate",
                                adressenummer  = "5",
                                adressebokstav = "A"
                            },
                            endring = EndringsstatusType.Ny
                        },
                        new BruksenhetType
                        {
                            bruksenhetsnummer = new BruksenhetsnummerType
                            {
                                etasjeplan = new EtasjeplanType
                                {
                                    kode        = "H",
                                    beskrivelse = "H"
                                },
                                etasjenummer = "01",
                                loepenummer  = "01"
                            },
                            bruksenhetstype = new BruksenhetstypeKodeType
                            {
                                kode        = "B",
                                beskrivelse = "Bolig"
                            },
                            kjoekkentilgang = new KjoekkentilgangKodeType
                            {
                                kode        = "0",
                                beskrivelse = "Ikke oppgitt"
                            },
                            bruksareal          = 100,
                            bruksarealSpecified = true,
                            antallRom           = "3",
                            antallBad           = "1",
                            antallWC            = "1",
                            adresse             = new AdresseType
                            {
                                adressekode    = "1001",
                                adressenavn    = "Byggestedgate",
                                adressenummer  = "5",
                                adressebokstav = "B"
                            },
                            endring = EndringsstatusType.Ny
                        }
                    },
                    avlop = new AvloepstilknytningType()
                    {
                        kode        = "OffentligKloakk",
                        beskrivelse = "Offentlig avløpsanlegg"     //ref kodeliste https://register.geonorge.no/subregister/byggesoknad/direktoratet-for-byggkvalitet/avlopstilknytning
                    },

                    vannforsyning = new VanntilknytningType()
                    {
                        kode        = "TilknyttetOffVannverk", //ref https://register.geonorge.no/subregister/byggesoknad/direktoratet-for-byggkvalitet/vanntilknytning
                        beskrivelse = "Offentlig vannverk"
                    },
                    harHeis          = false,
                    harHeisSpecified = true,
                    endring          = EndringsstatusType.Ny
                },
                new BygningType
                {
                    bebygdAreal          = 100,
                    bebygdArealSpecified = true,
                    bygningstype         = new BygningstypeType()
                    {
                        kode        = "121",
                        beskrivelse = "Tomannsbolig, vertikaldelt"     //ref kodeliste https://register.geonorge.no/subregister/byggesoknad/direktoratet-for-byggkvalitet/bygningstype
                    },
                    naeringsgruppe = new NaeringsgruppeType()
                    {
                        kode        = "X",
                        beskrivelse = "Bolig"     //ref kodeliste https://register.geonorge.no/subregister/byggesoknad/direktoratet-for-byggkvalitet/naeringsgruppe
                    },
                    etasjer = new[]
                    {
                        new EtasjeType
                        {
                            etasjeplan = new EtasjeplanType
                            {
                                kode        = "H",
                                beskrivelse = "H"
                            },
                            etasjenummer                = "01",
                            antallBoenheter             = "1",
                            bruksarealTotalt            = 200,
                            bruksarealTotaltSpecified   = true,
                            bruksarealTilAnnet          = 0,
                            bruksarealTilAnnetSpecified = true,
                            bruksarealTilBolig          = 200,
                            bruksarealTilBoligSpecified = true,
                            endring = EndringsstatusType.Ny
                        }
                    },
                    bruksenheter = new[]
                    {
                        new BruksenhetType
                        {
                            bruksenhetsnummer = new BruksenhetsnummerType
                            {
                                etasjeplan = new EtasjeplanType
                                {
                                    kode        = "H",
                                    beskrivelse = "H"
                                },
                                etasjenummer = "01",
                                loepenummer  = "01"
                            },
                            bruksenhetstype = new BruksenhetstypeKodeType
                            {
                                kode        = "B",
                                beskrivelse = "Bolig"
                            },
                            kjoekkentilgang = new KjoekkentilgangKodeType
                            {
                                kode        = "0",
                                beskrivelse = "Ikke oppgitt"
                            },
                            bruksareal          = 100,
                            bruksarealSpecified = true,
                            antallRom           = "3",
                            antallBad           = "1",
                            antallWC            = "1",
                            adresse             = new AdresseType
                            {
                                adressekode    = "1001",
                                adressenavn    = "Byggestedgate",
                                adressenummer  = "7",
                                adressebokstav = "A"
                            },
                            endring = EndringsstatusType.Ny
                        },
                        new BruksenhetType
                        {
                            bruksenhetsnummer = new BruksenhetsnummerType
                            {
                                etasjeplan = new EtasjeplanType
                                {
                                    kode        = "H",
                                    beskrivelse = "H"
                                },
                                etasjenummer = "01",
                                loepenummer  = "01"
                            },
                            bruksenhetstype = new BruksenhetstypeKodeType
                            {
                                kode        = "B",
                                beskrivelse = "Bolig"
                            },
                            kjoekkentilgang = new KjoekkentilgangKodeType
                            {
                                kode        = "0",
                                beskrivelse = "Ikke oppgitt"
                            },
                            bruksareal          = 100,
                            bruksarealSpecified = true,
                            antallRom           = "3",
                            antallBad           = "1",
                            antallWC            = "1",
                            adresse             = new AdresseType
                            {
                                adressekode    = "1001",
                                adressenavn    = "Byggestedgate",
                                adressenummer  = "7",
                                adressebokstav = "B"
                            },
                            endring = EndringsstatusType.Ny
                        }
                    },
                    avlop = new AvloepstilknytningType()
                    {
                        kode        = "OffentligKloakk",
                        beskrivelse = "Offentlig avløpsanlegg"     //ref kodeliste https://register.geonorge.no/subregister/byggesoknad/direktoratet-for-byggkvalitet/avlopstilknytning
                    },

                    vannforsyning = new VanntilknytningType()
                    {
                        kode        = "TilknyttetOffVannverk", //ref https://register.geonorge.no/subregister/byggesoknad/direktoratet-for-byggkvalitet/vanntilknytning
                        beskrivelse = "Offentlig vannverk"
                    },
                    harHeis          = false,
                    harHeisSpecified = true,
                    endring          = EndringsstatusType.Ny
                },
                new BygningType
                {
                    bebygdAreal          = 100,
                    bebygdArealSpecified = true,
                    bygningstype         = new BygningstypeType()
                    {
                        kode        = "121",
                        beskrivelse = "Tomannsbolig, vertikaldelt"     //ref kodeliste https://register.geonorge.no/subregister/byggesoknad/direktoratet-for-byggkvalitet/bygningstype
                    },
                    naeringsgruppe = new NaeringsgruppeType()
                    {
                        kode        = "X",
                        beskrivelse = "Bolig"     //ref kodeliste https://register.geonorge.no/subregister/byggesoknad/direktoratet-for-byggkvalitet/naeringsgruppe
                    },
                    etasjer = new[]
                    {
                        new EtasjeType
                        {
                            etasjeplan = new EtasjeplanType
                            {
                                kode        = "H",
                                beskrivelse = "H"
                            },
                            etasjenummer                = "01",
                            antallBoenheter             = "1",
                            bruksarealTotalt            = 200,
                            bruksarealTotaltSpecified   = true,
                            bruksarealTilAnnet          = 0,
                            bruksarealTilAnnetSpecified = true,
                            bruksarealTilBolig          = 200,
                            bruksarealTilBoligSpecified = true,
                            endring = EndringsstatusType.Ny
                        }
                    },
                    bruksenheter = new[]
                    {
                        new BruksenhetType
                        {
                            bruksenhetsnummer = new BruksenhetsnummerType
                            {
                                etasjeplan = new EtasjeplanType
                                {
                                    kode        = "H",
                                    beskrivelse = "H"
                                },
                                etasjenummer = "01",
                                loepenummer  = "01"
                            },
                            bruksenhetstype = new BruksenhetstypeKodeType
                            {
                                kode        = "B",
                                beskrivelse = "Bolig"
                            },
                            kjoekkentilgang = new KjoekkentilgangKodeType
                            {
                                kode        = "0",
                                beskrivelse = "Ikke oppgitt"
                            },
                            bruksareal          = 100,
                            bruksarealSpecified = true,
                            antallRom           = "3",
                            antallBad           = "1",
                            antallWC            = "1",
                            adresse             = new AdresseType
                            {
                                adressekode    = "1001",
                                adressenavn    = "Byggestedgate",
                                adressenummer  = "9",
                                adressebokstav = "A"
                            },
                            endring = EndringsstatusType.Ny
                        },
                        new BruksenhetType
                        {
                            bruksenhetsnummer = new BruksenhetsnummerType
                            {
                                etasjeplan = new EtasjeplanType
                                {
                                    kode        = "H",
                                    beskrivelse = "H"
                                },
                                etasjenummer = "01",
                                loepenummer  = "01"
                            },
                            bruksenhetstype = new BruksenhetstypeKodeType
                            {
                                kode        = "B",
                                beskrivelse = "Bolig"
                            },
                            kjoekkentilgang = new KjoekkentilgangKodeType
                            {
                                kode        = "0",
                                beskrivelse = "Ikke oppgitt"
                            },
                            bruksareal          = 100,
                            bruksarealSpecified = true,
                            antallRom           = "3",
                            antallBad           = "1",
                            antallWC            = "1",
                            adresse             = new AdresseType
                            {
                                adressekode    = "1001",
                                adressenavn    = "Byggestedgate",
                                adressenummer  = "9",
                                adressebokstav = "B"
                            },
                            endring = EndringsstatusType.Ny
                        }
                    },
                    avlop = new AvloepstilknytningType()
                    {
                        kode        = "OffentligKloakk",
                        beskrivelse = "Offentlig avløpsanlegg"     //ref kodeliste https://register.geonorge.no/subregister/byggesoknad/direktoratet-for-byggkvalitet/avlopstilknytning
                    },

                    vannforsyning = new VanntilknytningType()
                    {
                        kode        = "TilknyttetOffVannverk", //ref https://register.geonorge.no/subregister/byggesoknad/direktoratet-for-byggkvalitet/vanntilknytning
                        beskrivelse = "Offentlig vannverk"
                    },
                    harHeis          = false,
                    harHeisSpecified = true,
                    endring          = EndringsstatusType.Ny
                },
                new BygningType
                {
                    bebygdAreal          = 100,
                    bebygdArealSpecified = true,
                    bygningstype         = new BygningstypeType()
                    {
                        kode        = "121",
                        beskrivelse = "Tomannsbolig, vertikaldelt"     //ref kodeliste https://register.geonorge.no/subregister/byggesoknad/direktoratet-for-byggkvalitet/bygningstype
                    },
                    naeringsgruppe = new NaeringsgruppeType()
                    {
                        kode        = "X",
                        beskrivelse = "Bolig"     //ref kodeliste https://register.geonorge.no/subregister/byggesoknad/direktoratet-for-byggkvalitet/naeringsgruppe
                    },
                    etasjer = new[]
                    {
                        new EtasjeType
                        {
                            etasjeplan = new EtasjeplanType
                            {
                                kode        = "H",
                                beskrivelse = "H"
                            },
                            etasjenummer                = "01",
                            antallBoenheter             = "1",
                            bruksarealTotalt            = 200,
                            bruksarealTotaltSpecified   = true,
                            bruksarealTilAnnet          = 0,
                            bruksarealTilAnnetSpecified = true,
                            bruksarealTilBolig          = 200,
                            bruksarealTilBoligSpecified = true,
                            endring = EndringsstatusType.Ny
                        }
                    },
                    bruksenheter = new[]
                    {
                        new BruksenhetType
                        {
                            bruksenhetsnummer = new BruksenhetsnummerType
                            {
                                etasjeplan = new EtasjeplanType
                                {
                                    kode        = "H",
                                    beskrivelse = "H"
                                },
                                etasjenummer = "01",
                                loepenummer  = "01"
                            },
                            bruksenhetstype = new BruksenhetstypeKodeType
                            {
                                kode        = "B",
                                beskrivelse = "Bolig"
                            },
                            kjoekkentilgang = new KjoekkentilgangKodeType
                            {
                                kode        = "0",
                                beskrivelse = "Ikke oppgitt"
                            },
                            bruksareal          = 100,
                            bruksarealSpecified = true,
                            antallRom           = "3",
                            antallBad           = "1",
                            antallWC            = "1",
                            adresse             = new AdresseType
                            {
                                adressekode    = "1001",
                                adressenavn    = "Byggestedgate",
                                adressenummer  = "11",
                                adressebokstav = "A"
                            },
                            endring = EndringsstatusType.Ny
                        },
                        new BruksenhetType
                        {
                            bruksenhetsnummer = new BruksenhetsnummerType
                            {
                                etasjeplan = new EtasjeplanType
                                {
                                    kode        = "H",
                                    beskrivelse = "H"
                                },
                                etasjenummer = "01",
                                loepenummer  = "01"
                            },
                            bruksenhetstype = new BruksenhetstypeKodeType
                            {
                                kode        = "B",
                                beskrivelse = "Bolig"
                            },
                            kjoekkentilgang = new KjoekkentilgangKodeType
                            {
                                kode        = "0",
                                beskrivelse = "Ikke oppgitt"
                            },
                            bruksareal          = 100,
                            bruksarealSpecified = true,
                            antallRom           = "3",
                            antallBad           = "1",
                            antallWC            = "1",
                            adresse             = new AdresseType
                            {
                                adressekode    = "1001",
                                adressenavn    = "Byggestedgate",
                                adressenummer  = "11",
                                adressebokstav = "B"
                            },
                            endring = EndringsstatusType.Ny
                        }
                    },
                    avlop = new AvloepstilknytningType()
                    {
                        kode        = "OffentligKloakk",
                        beskrivelse = "Offentlig avløpsanlegg"     //ref kodeliste https://register.geonorge.no/subregister/byggesoknad/direktoratet-for-byggkvalitet/avlopstilknytning
                    },

                    vannforsyning = new VanntilknytningType()
                    {
                        kode        = "TilknyttetOffVannverk", //ref https://register.geonorge.no/subregister/byggesoknad/direktoratet-for-byggkvalitet/vanntilknytning
                        beskrivelse = "Offentlig vannverk"
                    },
                    harHeis          = false,
                    harHeisSpecified = true,
                    endring          = EndringsstatusType.Ny
                }
            };



            return(byggesak);
        }
예제 #15
0
        /// <summary>
        /// Nivå 2 - Beskjed om godkjent vedtak på ett trinn søknad - med gjeldende tegninger og utfylt matrikkelopplysninger på ny enebolig
        ///Brukstilfelle matrikkel - 8.6.2 Nybygg, nytt bygg - igangsettingstillatelse gitt  (denne brukes for ett trinn)
        ///Søknaden kan etterfølges med endringssøknad, midlertidig brukstillatelse eller ferdigattest
        ///Mer om søknaden - https://dibk-utvikling.atlassian.net/wiki/spaces/FB/pages/31129622/S+knad+om+tillatelse+i+ett+trinn
        /// </summary>
        /// <returns>Byggesak med utfylt matrikkelopplysninger for ny enebolig</returns>
        public ByggesakType GenerateSample()
        {
            var byggesak = new ByggesakType();

            byggesak.adresse    = "Byggestedgate 1";
            byggesak.tittel     = "Ett trinn søknad for enebolig i Byggestedgate 1";
            byggesak.saksnummer = new SaksnummerType()
            {
                saksaar = "2019", sakssekvensnummer = "123456"
            };

            byggesak.kategori = new ProsesskategoriType()
            {
                kode = "ET", beskrivelse = "Søknad om tillatelse i ett trinn"
            };
            byggesak.tiltakstype = new[] { new TiltaktypeType()
                                           {
                                               kode = "nyttbyggboligformal", beskrivelse = "Nytt bygg - boligformål"
                                           } };
            byggesak.vedtak = new VedtakType()
            {
                beskrivelse = "Vedtak om byggetillatelse", status = new VedtakstypeType()
                {
                    kode = "1", beskrivelse = "Godkjent"
                }, vedtaksdato = DateTime.Now
            };

            byggesak.matrikkelopplysninger         = new MatrikkelopplysningerType();
            byggesak.matrikkelopplysninger.adresse = new[]
            {
                new AdresseType()
                {
                    adressekode = "1001", adressenavn = "Byggestedgate", adressenummer = "1"
                }
            };
            byggesak.matrikkelopplysninger.eiendomsidentifikasjon = new[]
            {
                new MatrikkelnummerType()
                {
                    kommunenummer = "9999", gaardsnummer = "1", bruksnummer = "2"
                }
            };
            byggesak.matrikkelopplysninger.bygning = new[]
            {
                new BygningType
                {
                    bebygdAreal          = 100,
                    bebygdArealSpecified = true,
                    bygningstype         = new BygningstypeType()
                    {
                        kode        = "111",
                        beskrivelse = "Enebolig"     //ref kodeliste https://register.geonorge.no/subregister/byggesoknad/direktoratet-for-byggkvalitet/bygningstype
                    },
                    naeringsgruppe = new NaeringsgruppeType()
                    {
                        kode        = "X",
                        beskrivelse = "Bolig"     //ref kodeliste https://register.geonorge.no/subregister/byggesoknad/direktoratet-for-byggkvalitet/naeringsgruppe
                    },
                    etasjer = new[]
                    {
                        new EtasjeType
                        {
                            etasjeplan = new EtasjeplanType
                            {
                                kode        = "H",
                                beskrivelse = "H"
                            },
                            etasjenummer                = "01",
                            antallBoenheter             = "1",
                            bruksarealTotalt            = 100,
                            bruksarealTotaltSpecified   = true,
                            bruksarealTilAnnet          = 0,
                            bruksarealTilAnnetSpecified = true,
                            bruksarealTilBolig          = 100,
                            bruksarealTilBoligSpecified = true,
                            endring = EndringsstatusType.Ny
                        }
                    },
                    bruksenheter = new[]
                    {
                        new BruksenhetType
                        {
                            bruksenhetsnummer = new BruksenhetsnummerType
                            {
                                etasjeplan = new EtasjeplanType
                                {
                                    kode        = "H",
                                    beskrivelse = "H"
                                },
                                etasjenummer = "01",
                                loepenummer  = "01"
                            },
                            bruksenhetstype = new BruksenhetstypeKodeType
                            {
                                kode        = "B",
                                beskrivelse = "Bolig"
                            },
                            kjoekkentilgang = new KjoekkentilgangKodeType
                            {
                                kode        = "0",
                                beskrivelse = "Ikke oppgitt"
                            },
                            bruksareal          = 100,
                            bruksarealSpecified = true,
                            antallRom           = "3",
                            antallBad           = "1",
                            antallWC            = "1",
                            adresse             = new AdresseType
                            {
                                adressekode    = "1234",
                                adressenavn    = "Gatenavn",
                                adressenummer  = "1",
                                adressebokstav = "A"
                            },
                            endring = EndringsstatusType.Ny
                        }
                    },
                    avlop = new AvloepstilknytningType()
                    {
                        kode        = "OffentligKloakk",
                        beskrivelse = "Offentlig avløpsanlegg"     //ref kodeliste https://register.geonorge.no/subregister/byggesoknad/direktoratet-for-byggkvalitet/avlopstilknytning
                    },

                    vannforsyning = new VanntilknytningType()
                    {
                        kode        = "AnnenPrivatInnlagt", //ref https://register.geonorge.no/subregister/byggesoknad/direktoratet-for-byggkvalitet/vanntilknytning
                        beskrivelse = "Annen privat vannforsyning, innlagt vann"
                    },

                    energiforsyning = new EnergiforsyningType()
                    {
                        varmefordeling = new[]
                        {
                            new VarmefordelingType()
                            {
                                kode        = "elektriskePanelovner", //ref https://register.geonorge.no/subregister/byggesoknad/direktoratet-for-byggkvalitet/varmefordeling
                                beskrivelse = "Elektriske panelovner"
                            },
                            new VarmefordelingType()
                            {
                                kode        = "elektriskeVarmekabler",
                                beskrivelse = "Elektriske varmekabler"
                            },
                        },
                        energiforsyning = new[]
                        {
                            new EnergiforsyningTypeType()
                            {
                                kode        = "biobrensel", // ref https://register.geonorge.no/subregister/byggesoknad/direktoratet-for-byggkvalitet/energiforsyningtype
                                beskrivelse = "Biobrensel"
                            },
                            new EnergiforsyningTypeType()
                            {
                                kode        = "elektrisitet",
                                beskrivelse = "Elektrisitet"
                            },
                        },
                        relevant          = true,
                        relevantSpecified = true
                    },
                    harHeis          = false,
                    harHeisSpecified = true,
                    endring          = EndringsstatusType.Ny
                }
            };



            return(byggesak);
        }