Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
 /// <summary>
 /// Sets primary status code
 /// <see cref="ResourceStatus"/>.
 /// <seealso cref="ResourcePrimaryStatusCodeList"/>
 /// </summary>
 public void setPrimaryStatus(ResourcePrimaryStatusCodeList value)
 {
     Status.PrimaryStatus = value;
 }