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)); }
private static string writeMatrikkelFoeringsResponsXML(MatrikkelFoeringsResponsType respons) { var serializer = new System.Xml.Serialization.XmlSerializer(respons.GetType()); var stringWriter = new Utf8StringWriter(); serializer.Serialize(stringWriter, respons); string xml = stringWriter.ToString(); return(xml); }