public Position(XmlNode xmlNode)
        {
            XmlNode positionIdNode = xmlNode.SelectSingleNode("positionId");

            if (positionIdNode != null)
            {
                if (positionIdNode.Attributes["href"] != null || positionIdNode.Attributes["id"] != null)
                {
                    if (positionIdNode.Attributes["id"] != null)
                    {
                        positionIdIDRef_ = positionIdNode.Attributes["id"].Value;
                        PositionId ob = new PositionId(positionIdNode);
                        IDManager.SetID(positionIdIDRef_, ob);
                    }
                    else if (positionIdNode.Attributes["href"] != null)
                    {
                        positionIdIDRef_ = positionIdNode.Attributes["href"].Value;
                    }
                    else
                    {
                        positionId_ = new PositionId(positionIdNode);
                    }
                }
                else
                {
                    positionId_ = new PositionId(positionIdNode);
                }
            }


            XmlNode versionNode = xmlNode.SelectSingleNode("version");

            if (versionNode != null)
            {
                if (versionNode.Attributes["href"] != null || versionNode.Attributes["id"] != null)
                {
                    if (versionNode.Attributes["id"] != null)
                    {
                        versionIDRef_ = versionNode.Attributes["id"].Value;
                        XsdTypePositiveInteger ob = new XsdTypePositiveInteger(versionNode);
                        IDManager.SetID(versionIDRef_, ob);
                    }
                    else if (versionNode.Attributes["href"] != null)
                    {
                        versionIDRef_ = versionNode.Attributes["href"].Value;
                    }
                    else
                    {
                        version_ = new XsdTypePositiveInteger(versionNode);
                    }
                }
                else
                {
                    version_ = new XsdTypePositiveInteger(versionNode);
                }
            }


            XmlNode statusNode = xmlNode.SelectSingleNode("status");

            if (statusNode != null)
            {
                if (statusNode.Attributes["href"] != null || statusNode.Attributes["id"] != null)
                {
                    if (statusNode.Attributes["id"] != null)
                    {
                        statusIDRef_ = statusNode.Attributes["id"].Value;
                        PositionStatusEnum ob = new PositionStatusEnum(statusNode);
                        IDManager.SetID(statusIDRef_, ob);
                    }
                    else if (statusNode.Attributes["href"] != null)
                    {
                        statusIDRef_ = statusNode.Attributes["href"].Value;
                    }
                    else
                    {
                        status_ = new PositionStatusEnum(statusNode);
                    }
                }
                else
                {
                    status_ = new PositionStatusEnum(statusNode);
                }
            }


            XmlNode creationDateNode = xmlNode.SelectSingleNode("creationDate");

            if (creationDateNode != null)
            {
                if (creationDateNode.Attributes["href"] != null || creationDateNode.Attributes["id"] != null)
                {
                    if (creationDateNode.Attributes["id"] != null)
                    {
                        creationDateIDRef_ = creationDateNode.Attributes["id"].Value;
                        XsdTypeDate ob = new XsdTypeDate(creationDateNode);
                        IDManager.SetID(creationDateIDRef_, ob);
                    }
                    else if (creationDateNode.Attributes["href"] != null)
                    {
                        creationDateIDRef_ = creationDateNode.Attributes["href"].Value;
                    }
                    else
                    {
                        creationDate_ = new XsdTypeDate(creationDateNode);
                    }
                }
                else
                {
                    creationDate_ = new XsdTypeDate(creationDateNode);
                }
            }


            XmlNode originatingEventNode = xmlNode.SelectSingleNode("originatingEvent");

            if (originatingEventNode != null)
            {
                if (originatingEventNode.Attributes["href"] != null || originatingEventNode.Attributes["id"] != null)
                {
                    if (originatingEventNode.Attributes["id"] != null)
                    {
                        originatingEventIDRef_ = originatingEventNode.Attributes["id"].Value;
                        PositionOriginEnum ob = new PositionOriginEnum(originatingEventNode);
                        IDManager.SetID(originatingEventIDRef_, ob);
                    }
                    else if (originatingEventNode.Attributes["href"] != null)
                    {
                        originatingEventIDRef_ = originatingEventNode.Attributes["href"].Value;
                    }
                    else
                    {
                        originatingEvent_ = new PositionOriginEnum(originatingEventNode);
                    }
                }
                else
                {
                    originatingEvent_ = new PositionOriginEnum(originatingEventNode);
                }
            }


            XmlNode historyNode = xmlNode.SelectSingleNode("history");

            if (historyNode != null)
            {
                if (historyNode.Attributes["href"] != null || historyNode.Attributes["id"] != null)
                {
                    if (historyNode.Attributes["id"] != null)
                    {
                        historyIDRef_ = historyNode.Attributes["id"].Value;
                        PositionHistory ob = new PositionHistory(historyNode);
                        IDManager.SetID(historyIDRef_, ob);
                    }
                    else if (historyNode.Attributes["href"] != null)
                    {
                        historyIDRef_ = historyNode.Attributes["href"].Value;
                    }
                    else
                    {
                        history_ = new PositionHistory(historyNode);
                    }
                }
                else
                {
                    history_ = new PositionHistory(historyNode);
                }
            }


            XmlNode reportingRolesNode = xmlNode.SelectSingleNode("reportingRoles");

            if (reportingRolesNode != null)
            {
                if (reportingRolesNode.Attributes["href"] != null || reportingRolesNode.Attributes["id"] != null)
                {
                    if (reportingRolesNode.Attributes["id"] != null)
                    {
                        reportingRolesIDRef_ = reportingRolesNode.Attributes["id"].Value;
                        ReportingRoles ob = new ReportingRoles(reportingRolesNode);
                        IDManager.SetID(reportingRolesIDRef_, ob);
                    }
                    else if (reportingRolesNode.Attributes["href"] != null)
                    {
                        reportingRolesIDRef_ = reportingRolesNode.Attributes["href"].Value;
                    }
                    else
                    {
                        reportingRoles_ = new ReportingRoles(reportingRolesNode);
                    }
                }
                else
                {
                    reportingRoles_ = new ReportingRoles(reportingRolesNode);
                }
            }


            XmlNode constituentNode = xmlNode.SelectSingleNode("constituent");

            if (constituentNode != null)
            {
                if (constituentNode.Attributes["href"] != null || constituentNode.Attributes["id"] != null)
                {
                    if (constituentNode.Attributes["id"] != null)
                    {
                        constituentIDRef_ = constituentNode.Attributes["id"].Value;
                        PositionConstituent ob = new PositionConstituent(constituentNode);
                        IDManager.SetID(constituentIDRef_, ob);
                    }
                    else if (constituentNode.Attributes["href"] != null)
                    {
                        constituentIDRef_ = constituentNode.Attributes["href"].Value;
                    }
                    else
                    {
                        constituent_ = new PositionConstituent(constituentNode);
                    }
                }
                else
                {
                    constituent_ = new PositionConstituent(constituentNode);
                }
            }


            XmlNodeList scheduledDateNodeList = xmlNode.SelectNodes("scheduledDate");

            if (scheduledDateNodeList != null)
            {
                this.scheduledDate_ = new List <ScheduledDate>();
                foreach (XmlNode item in scheduledDateNodeList)
                {
                    if (item.Attributes["href"] != null || item.Attributes["id"] != null)
                    {
                        if (item.Attributes["id"] != null)
                        {
                            scheduledDateIDRef_ = item.Attributes["id"].Value;
                            scheduledDate_.Add(new ScheduledDate(item));
                            IDManager.SetID(scheduledDateIDRef_, scheduledDate_[scheduledDate_.Count - 1]);
                        }
                        else if (item.Attributes["href"] != null)
                        {
                            scheduledDateIDRef_ = item.Attributes["href"].Value;
                        }
                        else
                        {
                            scheduledDate_.Add(new ScheduledDate(item));
                        }
                    }
                    else
                    {
                        scheduledDate_.Add(new ScheduledDate(item));
                    }
                }
            }


            XmlNodeList valuationNodeList = xmlNode.SelectNodes("valuation");

            if (valuationNodeList != null)
            {
                this.valuation_ = new List <AssetValuation>();
                foreach (XmlNode item in valuationNodeList)
                {
                    if (item.Attributes["href"] != null || item.Attributes["id"] != null)
                    {
                        if (item.Attributes["id"] != null)
                        {
                            valuationIDRef_ = item.Attributes["id"].Value;
                            valuation_.Add(new AssetValuation(item));
                            IDManager.SetID(valuationIDRef_, valuation_[valuation_.Count - 1]);
                        }
                        else if (item.Attributes["href"] != null)
                        {
                            valuationIDRef_ = item.Attributes["href"].Value;
                        }
                        else
                        {
                            valuation_.Add(new AssetValuation(item));
                        }
                    }
                    else
                    {
                        valuation_.Add(new AssetValuation(item));
                    }
                }
            }
        }
 public Position(XmlNode xmlNode)
 {
     XmlNodeList positionIdNodeList = xmlNode.SelectNodes("positionId");
     if (positionIdNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in positionIdNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 positionIdIDRef = item.Attributes["id"].Name;
                 PositionId ob = PositionId();
                 IDManager.SetID(positionIdIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 positionIdIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 positionId = new PositionId(item);
             }
         }
     }
     
 
     XmlNodeList versionNodeList = xmlNode.SelectNodes("version");
     if (versionNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in versionNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 versionIDRef = item.Attributes["id"].Name;
                 XsdTypePositiveInteger ob = XsdTypePositiveInteger();
                 IDManager.SetID(versionIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 versionIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 version = new XsdTypePositiveInteger(item);
             }
         }
     }
     
 
     XmlNodeList statusNodeList = xmlNode.SelectNodes("status");
     if (statusNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in statusNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 statusIDRef = item.Attributes["id"].Name;
                 PositionStatusEnum ob = PositionStatusEnum();
                 IDManager.SetID(statusIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 statusIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 status = new PositionStatusEnum(item);
             }
         }
     }
     
 
     XmlNodeList creationDateNodeList = xmlNode.SelectNodes("creationDate");
     if (creationDateNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in creationDateNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 creationDateIDRef = item.Attributes["id"].Name;
                 XsdTypeDate ob = XsdTypeDate();
                 IDManager.SetID(creationDateIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 creationDateIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 creationDate = new XsdTypeDate(item);
             }
         }
     }
     
 
     XmlNodeList originatingEventNodeList = xmlNode.SelectNodes("originatingEvent");
     if (originatingEventNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in originatingEventNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 originatingEventIDRef = item.Attributes["id"].Name;
                 PositionOriginEnum ob = PositionOriginEnum();
                 IDManager.SetID(originatingEventIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 originatingEventIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 originatingEvent = new PositionOriginEnum(item);
             }
         }
     }
     
 
     XmlNodeList historyNodeList = xmlNode.SelectNodes("history");
     if (historyNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in historyNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 historyIDRef = item.Attributes["id"].Name;
                 PositionHistory ob = PositionHistory();
                 IDManager.SetID(historyIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 historyIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 history = new PositionHistory(item);
             }
         }
     }
     
 
     XmlNodeList reportingRolesNodeList = xmlNode.SelectNodes("reportingRoles");
     if (reportingRolesNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in reportingRolesNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 reportingRolesIDRef = item.Attributes["id"].Name;
                 ReportingRoles ob = ReportingRoles();
                 IDManager.SetID(reportingRolesIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 reportingRolesIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 reportingRoles = new ReportingRoles(item);
             }
         }
     }
     
 
     XmlNodeList constituentNodeList = xmlNode.SelectNodes("constituent");
     if (constituentNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in constituentNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 constituentIDRef = item.Attributes["id"].Name;
                 PositionConstituent ob = PositionConstituent();
                 IDManager.SetID(constituentIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 constituentIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 constituent = new PositionConstituent(item);
             }
         }
     }
     
 
     XmlNodeList scheduledDateNodeList = xmlNode.SelectNodes("scheduledDate");
     
     foreach (XmlNode item in scheduledDateNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 scheduledDateIDRef = item.Attributes["id"].Name;
                 List<ScheduledDate> ob = new List<ScheduledDate>();
                 ob.Add(new ScheduledDate(item));
                 IDManager.SetID(scheduledDateIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 scheduledDateIDRef = item.Attributes["href"].Name;
             }
             else
             {
             scheduledDate.Add(new ScheduledDate(item));
             }
         }
     }
     
 
     XmlNodeList valuationNodeList = xmlNode.SelectNodes("valuation");
     
     foreach (XmlNode item in valuationNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 valuationIDRef = item.Attributes["id"].Name;
                 List<AssetValuation> ob = new List<AssetValuation>();
                 ob.Add(new AssetValuation(item));
                 IDManager.SetID(valuationIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 valuationIDRef = item.Attributes["href"].Name;
             }
             else
             {
             valuation.Add(new AssetValuation(item));
             }
         }
     }
     
 
 }
 public Position(XmlNode xmlNode)
 {
     XmlNode positionIdNode = xmlNode.SelectSingleNode("positionId");
     
     if (positionIdNode != null)
     {
         if (positionIdNode.Attributes["href"] != null || positionIdNode.Attributes["id"] != null) 
         {
             if (positionIdNode.Attributes["id"] != null) 
             {
                 positionIdIDRef_ = positionIdNode.Attributes["id"].Value;
                 PositionId ob = new PositionId(positionIdNode);
                 IDManager.SetID(positionIdIDRef_, ob);
             }
             else if (positionIdNode.Attributes["href"] != null)
             {
                 positionIdIDRef_ = positionIdNode.Attributes["href"].Value;
             }
             else
             {
                 positionId_ = new PositionId(positionIdNode);
             }
         }
         else
         {
             positionId_ = new PositionId(positionIdNode);
         }
     }
     
 
     XmlNode versionNode = xmlNode.SelectSingleNode("version");
     
     if (versionNode != null)
     {
         if (versionNode.Attributes["href"] != null || versionNode.Attributes["id"] != null) 
         {
             if (versionNode.Attributes["id"] != null) 
             {
                 versionIDRef_ = versionNode.Attributes["id"].Value;
                 XsdTypePositiveInteger ob = new XsdTypePositiveInteger(versionNode);
                 IDManager.SetID(versionIDRef_, ob);
             }
             else if (versionNode.Attributes["href"] != null)
             {
                 versionIDRef_ = versionNode.Attributes["href"].Value;
             }
             else
             {
                 version_ = new XsdTypePositiveInteger(versionNode);
             }
         }
         else
         {
             version_ = new XsdTypePositiveInteger(versionNode);
         }
     }
     
 
     XmlNode statusNode = xmlNode.SelectSingleNode("status");
     
     if (statusNode != null)
     {
         if (statusNode.Attributes["href"] != null || statusNode.Attributes["id"] != null) 
         {
             if (statusNode.Attributes["id"] != null) 
             {
                 statusIDRef_ = statusNode.Attributes["id"].Value;
                 PositionStatusEnum ob = new PositionStatusEnum(statusNode);
                 IDManager.SetID(statusIDRef_, ob);
             }
             else if (statusNode.Attributes["href"] != null)
             {
                 statusIDRef_ = statusNode.Attributes["href"].Value;
             }
             else
             {
                 status_ = new PositionStatusEnum(statusNode);
             }
         }
         else
         {
             status_ = new PositionStatusEnum(statusNode);
         }
     }
     
 
     XmlNode creationDateNode = xmlNode.SelectSingleNode("creationDate");
     
     if (creationDateNode != null)
     {
         if (creationDateNode.Attributes["href"] != null || creationDateNode.Attributes["id"] != null) 
         {
             if (creationDateNode.Attributes["id"] != null) 
             {
                 creationDateIDRef_ = creationDateNode.Attributes["id"].Value;
                 XsdTypeDate ob = new XsdTypeDate(creationDateNode);
                 IDManager.SetID(creationDateIDRef_, ob);
             }
             else if (creationDateNode.Attributes["href"] != null)
             {
                 creationDateIDRef_ = creationDateNode.Attributes["href"].Value;
             }
             else
             {
                 creationDate_ = new XsdTypeDate(creationDateNode);
             }
         }
         else
         {
             creationDate_ = new XsdTypeDate(creationDateNode);
         }
     }
     
 
     XmlNode originatingEventNode = xmlNode.SelectSingleNode("originatingEvent");
     
     if (originatingEventNode != null)
     {
         if (originatingEventNode.Attributes["href"] != null || originatingEventNode.Attributes["id"] != null) 
         {
             if (originatingEventNode.Attributes["id"] != null) 
             {
                 originatingEventIDRef_ = originatingEventNode.Attributes["id"].Value;
                 PositionOriginEnum ob = new PositionOriginEnum(originatingEventNode);
                 IDManager.SetID(originatingEventIDRef_, ob);
             }
             else if (originatingEventNode.Attributes["href"] != null)
             {
                 originatingEventIDRef_ = originatingEventNode.Attributes["href"].Value;
             }
             else
             {
                 originatingEvent_ = new PositionOriginEnum(originatingEventNode);
             }
         }
         else
         {
             originatingEvent_ = new PositionOriginEnum(originatingEventNode);
         }
     }
     
 
     XmlNode historyNode = xmlNode.SelectSingleNode("history");
     
     if (historyNode != null)
     {
         if (historyNode.Attributes["href"] != null || historyNode.Attributes["id"] != null) 
         {
             if (historyNode.Attributes["id"] != null) 
             {
                 historyIDRef_ = historyNode.Attributes["id"].Value;
                 PositionHistory ob = new PositionHistory(historyNode);
                 IDManager.SetID(historyIDRef_, ob);
             }
             else if (historyNode.Attributes["href"] != null)
             {
                 historyIDRef_ = historyNode.Attributes["href"].Value;
             }
             else
             {
                 history_ = new PositionHistory(historyNode);
             }
         }
         else
         {
             history_ = new PositionHistory(historyNode);
         }
     }
     
 
     XmlNode reportingRolesNode = xmlNode.SelectSingleNode("reportingRoles");
     
     if (reportingRolesNode != null)
     {
         if (reportingRolesNode.Attributes["href"] != null || reportingRolesNode.Attributes["id"] != null) 
         {
             if (reportingRolesNode.Attributes["id"] != null) 
             {
                 reportingRolesIDRef_ = reportingRolesNode.Attributes["id"].Value;
                 ReportingRoles ob = new ReportingRoles(reportingRolesNode);
                 IDManager.SetID(reportingRolesIDRef_, ob);
             }
             else if (reportingRolesNode.Attributes["href"] != null)
             {
                 reportingRolesIDRef_ = reportingRolesNode.Attributes["href"].Value;
             }
             else
             {
                 reportingRoles_ = new ReportingRoles(reportingRolesNode);
             }
         }
         else
         {
             reportingRoles_ = new ReportingRoles(reportingRolesNode);
         }
     }
     
 
     XmlNode constituentNode = xmlNode.SelectSingleNode("constituent");
     
     if (constituentNode != null)
     {
         if (constituentNode.Attributes["href"] != null || constituentNode.Attributes["id"] != null) 
         {
             if (constituentNode.Attributes["id"] != null) 
             {
                 constituentIDRef_ = constituentNode.Attributes["id"].Value;
                 PositionConstituent ob = new PositionConstituent(constituentNode);
                 IDManager.SetID(constituentIDRef_, ob);
             }
             else if (constituentNode.Attributes["href"] != null)
             {
                 constituentIDRef_ = constituentNode.Attributes["href"].Value;
             }
             else
             {
                 constituent_ = new PositionConstituent(constituentNode);
             }
         }
         else
         {
             constituent_ = new PositionConstituent(constituentNode);
         }
     }
     
 
     XmlNodeList scheduledDateNodeList = xmlNode.SelectNodes("scheduledDate");
     
     if (scheduledDateNodeList != null)
     {
         this.scheduledDate_ = new List<ScheduledDate>();
         foreach (XmlNode item in scheduledDateNodeList)
         {
             if (item.Attributes["href"] != null || item.Attributes["id"] != null) 
             {
                 if (item.Attributes["id"] != null) 
                 {
                     scheduledDateIDRef_ = item.Attributes["id"].Value;
                     scheduledDate_.Add(new ScheduledDate(item));
                     IDManager.SetID(scheduledDateIDRef_, scheduledDate_[scheduledDate_.Count - 1 ]);
                 }
                 else if (item.Attributes["href"] != null)
                 {
                     scheduledDateIDRef_ = item.Attributes["href"].Value;
                 }
                 else
                 {
                 scheduledDate_.Add(new ScheduledDate(item));
                 }
             }
             else
             {
                 scheduledDate_.Add(new ScheduledDate(item));
             }
         }
     }
     
 
     XmlNodeList valuationNodeList = xmlNode.SelectNodes("valuation");
     
     if (valuationNodeList != null)
     {
         this.valuation_ = new List<AssetValuation>();
         foreach (XmlNode item in valuationNodeList)
         {
             if (item.Attributes["href"] != null || item.Attributes["id"] != null) 
             {
                 if (item.Attributes["id"] != null) 
                 {
                     valuationIDRef_ = item.Attributes["id"].Value;
                     valuation_.Add(new AssetValuation(item));
                     IDManager.SetID(valuationIDRef_, valuation_[valuation_.Count - 1 ]);
                 }
                 else if (item.Attributes["href"] != null)
                 {
                     valuationIDRef_ = item.Attributes["href"].Value;
                 }
                 else
                 {
                 valuation_.Add(new AssetValuation(item));
                 }
             }
             else
             {
                 valuation_.Add(new AssetValuation(item));
             }
         }
     }
     
 
 }
示例#4
0
        public Position(XmlNode xmlNode)
        {
            XmlNodeList positionIdNodeList = xmlNode.SelectNodes("positionId");

            if (positionIdNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in positionIdNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        positionIdIDRef = item.Attributes["id"].Name;
                        PositionId ob = PositionId();
                        IDManager.SetID(positionIdIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        positionIdIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        positionId = new PositionId(item);
                    }
                }
            }


            XmlNodeList versionNodeList = xmlNode.SelectNodes("version");

            if (versionNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in versionNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        versionIDRef = item.Attributes["id"].Name;
                        XsdTypePositiveInteger ob = XsdTypePositiveInteger();
                        IDManager.SetID(versionIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        versionIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        version = new XsdTypePositiveInteger(item);
                    }
                }
            }


            XmlNodeList statusNodeList = xmlNode.SelectNodes("status");

            if (statusNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in statusNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        statusIDRef = item.Attributes["id"].Name;
                        PositionStatusEnum ob = PositionStatusEnum();
                        IDManager.SetID(statusIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        statusIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        status = new PositionStatusEnum(item);
                    }
                }
            }


            XmlNodeList creationDateNodeList = xmlNode.SelectNodes("creationDate");

            if (creationDateNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in creationDateNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        creationDateIDRef = item.Attributes["id"].Name;
                        XsdTypeDate ob = XsdTypeDate();
                        IDManager.SetID(creationDateIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        creationDateIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        creationDate = new XsdTypeDate(item);
                    }
                }
            }


            XmlNodeList originatingEventNodeList = xmlNode.SelectNodes("originatingEvent");

            if (originatingEventNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in originatingEventNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        originatingEventIDRef = item.Attributes["id"].Name;
                        PositionOriginEnum ob = PositionOriginEnum();
                        IDManager.SetID(originatingEventIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        originatingEventIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        originatingEvent = new PositionOriginEnum(item);
                    }
                }
            }


            XmlNodeList historyNodeList = xmlNode.SelectNodes("history");

            if (historyNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in historyNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        historyIDRef = item.Attributes["id"].Name;
                        PositionHistory ob = PositionHistory();
                        IDManager.SetID(historyIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        historyIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        history = new PositionHistory(item);
                    }
                }
            }


            XmlNodeList reportingRolesNodeList = xmlNode.SelectNodes("reportingRoles");

            if (reportingRolesNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in reportingRolesNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        reportingRolesIDRef = item.Attributes["id"].Name;
                        ReportingRoles ob = ReportingRoles();
                        IDManager.SetID(reportingRolesIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        reportingRolesIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        reportingRoles = new ReportingRoles(item);
                    }
                }
            }


            XmlNodeList constituentNodeList = xmlNode.SelectNodes("constituent");

            if (constituentNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in constituentNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        constituentIDRef = item.Attributes["id"].Name;
                        PositionConstituent ob = PositionConstituent();
                        IDManager.SetID(constituentIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        constituentIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        constituent = new PositionConstituent(item);
                    }
                }
            }


            XmlNodeList scheduledDateNodeList = xmlNode.SelectNodes("scheduledDate");

            foreach (XmlNode item in scheduledDateNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        scheduledDateIDRef = item.Attributes["id"].Name;
                        List <ScheduledDate> ob = new List <ScheduledDate>();
                        ob.Add(new ScheduledDate(item));
                        IDManager.SetID(scheduledDateIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        scheduledDateIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        scheduledDate.Add(new ScheduledDate(item));
                    }
                }
            }


            XmlNodeList valuationNodeList = xmlNode.SelectNodes("valuation");

            foreach (XmlNode item in valuationNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        valuationIDRef = item.Attributes["id"].Name;
                        List <AssetValuation> ob = new List <AssetValuation>();
                        ob.Add(new AssetValuation(item));
                        IDManager.SetID(valuationIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        valuationIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        valuation.Add(new AssetValuation(item));
                    }
                }
            }
        }