public void GetSubregisterItemByName() { Models.Register register = NewRegister("Register name"); register.parentRegister = NewRegister("parent name"); List <Models.RegisterItem> versions = GetListOfVersions("itemName", register, "Kartverket"); var registerItemService = new Mock <IRegisterItemService>(); registerItemService.Setup(s => s.GetAllVersionsOfItem(register.parentRegister.seoname, register.seoname, "itemname")).Returns(versions); var controller = createController(url, null, registerItemService.Object); var result = controller.GetSubregisterItemByName(register.parentRegister.seoname, register.seoname, "itemname", null) as OkNegotiatedContentResult <Models.Api.Registeritem>; Models.Api.Registeritem actualVersions = result.Content; actualVersions.label.Should().Be("itemName"); }
public void GetCurrentAndOtherVersions() { Models.Register register = NewRegister("Register name"); List <RegisterItem> versions = GetListOfVersions("itemName", register, "Kartverket"); var registerItemService = new Mock <IRegisterItemService>(); var registerService = new Mock <IRegisterService>(); registerItemService.Setup(s => s.GetAllVersionsOfItem(null, register.seoname, versions[0].seoname)).Returns(versions); registerService.Setup(r => r.GetRegister(null, register.seoname)).Returns(register); var controller = createController(url, registerService.Object, registerItemService.Object); var result = controller.GetRegisterItemByName(register.seoname, "itemname") as OkNegotiatedContentResult <Models.Api.Registeritem>; Models.Api.Registeritem actualCurrentVersion = result.Content; actualCurrentVersion.versions.Count.Should().Be(4); }
private void BuildSKOSFeed(object models, Stream stream, string contenttype) { if (models is Models.Api.Register) { Models.Api.Register register = (Models.Api.Register)models; string targetNamespace = ""; string nameSpace = ""; if (register.targetNamespace != null) { nameSpace = register.targetNamespace; if (register.targetNamespace.EndsWith("/")) { targetNamespace = register.targetNamespace + register.label; } else { targetNamespace = register.targetNamespace + "/" + register.label; } } XNamespace ns = "http://www.opengis.net/gml/3.2"; XNamespace xsiNs = "http://www.w3.org/2001/XMLSchema-instance"; XNamespace gmlNs = "http://www.opengis.net/gml/3.2"; XElement xdoc = new XElement(gmlNs + "Dictionary", new XAttribute(XNamespace.Xmlns + "xsi", xsiNs), new XAttribute(XNamespace.Xmlns + "gml", gmlNs), new XAttribute(xsiNs + "schemaLocation", "http://www.opengis.net/gml/3.2 http://schemas.opengis.net/gml/3.2.1/gml.xsd"), new XAttribute(gmlNs + "id", GetGmlId(register)), new XElement(gmlNs + "description"), new XElement(gmlNs + "identifier", new XAttribute("codeSpace", register.id), register.label), from k in register.containeditems select new XElement(gmlNs + "dictionaryEntry", new XElement(gmlNs + "Definition", new XAttribute(gmlNs + "id", GetGmlId(k)), new XElement(gmlNs + "metaDataProperty", new XElement(gmlNs + "GenericMetaData", new XElement("status", new XAttribute(xsiNs + "type", "gml:StringOrRefType"), k.status), GetValidTime(k, gmlNs))), new XElement(gmlNs + "description", k.description), new XElement(gmlNs + "identifier", new XAttribute("codeSpace", register.id), !string.IsNullOrEmpty(k.codevalue) ? k.codevalue : k.seoname), new XElement(gmlNs + "name", k.label) ))); using (XmlWriter writer = XmlWriter.Create(stream)) { xdoc.WriteTo(writer); } } else if (models is Models.Api.Registeritem) { Models.Api.Registeritem register = (Models.Api.Registeritem)models; XNamespace ns = "http://www.opengis.net/gml/3.2"; XNamespace xsiNs = "http://www.w3.org/2001/XMLSchema-instance"; XNamespace gmlNs = "http://www.opengis.net/gml/3.2"; XElement xdoc = new XElement(gmlNs + "Dictionary", new XAttribute(XNamespace.Xmlns + "xsi", xsiNs), new XAttribute(XNamespace.Xmlns + "gml", gmlNs), new XAttribute(xsiNs + "schemaLocation", "http://www.opengis.net/gml/3.2 http://schemas.opengis.net/gml/3.2.1/gml.xsd"), new XAttribute(gmlNs + "id", GetGmlId(register)), new XElement(gmlNs + "metaDataProperty", new XElement(gmlNs + "GenericMetaData", new XElement("status", new XAttribute(xsiNs + "type", "gml:StringOrRefType"), register.status), GetValidTime(register, gmlNs))), new XElement(gmlNs + "description", register.description), new XElement(gmlNs + "identifier", new XAttribute("codeSpace", GetCodespace(register)), register.codevalue), new XElement(gmlNs + "name", register.label) ); using (XmlWriter writer = XmlWriter.Create(stream)) { xdoc.WriteTo(writer); } } }
public IHttpActionResult GetSubregisterItemByName(string parentregister, string register, string item, string id = null) { SetLanguage(Request); Models.Api.Registeritem currentVersion = ConvertCurrentAndVersions(parentregister, register, item); return(Ok(currentVersion)); }