/// <summary> /// Adds a new UCAD status to secondary status /// <see cref="ResourceUCADStatus"/>. /// <seealso cref="ResourceUCADStatusCodeList"/> /// </summary> public void AddUCADStatus(ResourceUCADStatusCodeList value) { ResourceUCADStatus status = new ResourceUCADStatus(); status.UCADCode = value; Status.SecondaryStatus.Add(status); }
private EventDetails CreateResourceDetail(XmlNode node, ResourceDetail resource) { resource.Status = new ResourceStatus(); resource.Status.SecondaryStatus = new List <AltStatus>(0); resource.ControllingOrg = new ResourceOrganization(); XmlNodeList resourceDetailNodes = node.ChildNodes; foreach (XmlNode childNode in resourceDetailNodes) { XmlNodeList statusNodes = childNode.ChildNodes; if (string.IsNullOrEmpty(childNode.InnerText)) { continue; } switch (childNode.LocalName) { case "ResourceStatus": foreach (XmlNode statusNode in statusNodes) { if (string.IsNullOrEmpty(statusNode.InnerText)) { continue; } switch (statusNode.LocalName) { case "ResourcePrimaryStatus": ResourcePrimaryStatusCodeList outputPrim = GetCode <ResourcePrimaryStatusCodeList>(statusNode.InnerText); resource.Status.PrimaryStatus = outputPrim; break; case "ResouceEIDDStatus": ResourceEIDDStatusCodeList outputEEID = GetCode <ResourceEIDDStatusCodeList>(statusNode.InnerText); resource.AddEIDDStatus(outputEEID); break; case "ResourceUCADStatus": ResourceUCADStatusCodeList outputUCAD = GetCode <ResourceUCADStatusCodeList>(statusNode.InnerText); resource.AddUCADStatus(outputUCAD); break; case "ResourceSecondaryTextStatus": resource.AddSecondaryStatusText(statusNode.InnerText, "Freetext"); break; default: throw new ArgumentException("Unexpected Node Name: " + statusNode.Name + " in NIEM Resource Status"); } } break; case "ResourceOwningOrganization": resource.OwningOrg = new ResourceOrganization(); foreach (XmlNode orgNode in childNode.ChildNodes) { switch (orgNode.LocalName) { case "OrganizationIdentification": resource.OwningOrg.OrgID = orgNode.InnerText; break; case "ResourceIdentifier": resource.OwningOrg.ResourceID = orgNode.InnerText; break; default: throw new ArgumentException("Unexpected Node Name: " + childNode.Name + " in NIEM Owning Organization"); } } break; case "ResourceControllingOrganization": foreach (XmlNode orgNode in childNode.ChildNodes) { switch (orgNode.LocalName) { case "OrganizationIdentification": resource.OwningOrg.OrgID = orgNode.InnerText; break; case "ResourceIdentifier": resource.OwningOrg.ResourceID = orgNode.InnerText; break; default: throw new ArgumentException("Unexpected Node Name: " + childNode.Name + " in NIEM Owning Organization"); } } break; default: throw new ArgumentException("Unexpected Node Name: " + childNode.Name + " in NIEM Event"); } } return(resource); }