Example #1
0
        protected override void ReadXmlBase(System.Xml.XmlReader reader)
        {
            base.ReadXmlBase(reader);

            DesignByContract.Check.Assert(reader.LocalName == "narrative",
                "Expected LocalName is 'narrative', but it is " + reader.LocalName);
            string narrativeType = reader.GetAttribute("type", RmXmlSerializer.XsiNamespace);
            if (narrativeType != null)
                this.narrative = new OpenEhr.RM.DataTypes.Text.DvCodedText();
            else
                this.narrative = new OpenEhr.RM.DataTypes.Text.DvText();
            this.narrative.ReadXml(reader);

            if (reader.LocalName == "expiry_time")
            {
                this.expiryTime = new OpenEhr.RM.DataTypes.Quantity.DateTime.DvDateTime();
                this.expiryTime.ReadXml(reader);
            }

            if (reader.LocalName == "wf_definition")
            {
                this.wfDefinition = new OpenEhr.RM.DataTypes.Encapsulated.DvParsable();
                this.wfDefinition.ReadXml(reader);
            }

            if (reader.LocalName == "activities")
            {
                AssumedTypes.Impl.LocatableList<Activity> activities = new OpenEhr.AssumedTypes.Impl.LocatableList<Activity>();
                do
                {
                    Activity activity = new Activity();
                    activity.ReadXml(reader);

                    activity.Parent = this;
                    activities.Add(activity);

                } while (reader.LocalName == "activities" && reader.NodeType == System.Xml.XmlNodeType.Element);

                this.activities = activities;
            }
        }
Example #2
0
        protected override void ReadXmlBase(System.Xml.XmlReader reader)
        {
            base.ReadXmlBase(reader);

            DesignByContract.Check.Assert(reader.LocalName == "items",
                "Expected LocalName is 'items' rather than " + reader.LocalName);

            OpenEhr.AssumedTypes.Impl.LocatableList < Item >  items = new OpenEhr.AssumedTypes.Impl.LocatableList<Item>();
            while (reader.LocalName == "items" && reader.NodeType== System.Xml.XmlNodeType.Element)
            {
                string itemType = reader.GetAttribute("type", RmXmlSerializer.XsiNamespace);
                Item anItem = Item.GetLocatableObjectByType(itemType) as Item;
                if (anItem == null)
                    throw new InvalidOperationException("itemType must be type of Item: " + itemType);
                anItem.ReadXml(reader);

                anItem.Parent = this;
                items.Add(anItem);
            }
            this.items = items;
        }