Beispiel #1
0
        protected virtual object Visit(openehr.openehr.am.openehr_profile.data_types.quantity.Impl.C_DV_QUANTITY o, int depth)
        {
            C_DV_QUANTITY result = new C_DV_QUANTITY();

            CloneC_Object(result, o);

            if (o.assumed_value() != null)
            {
                result.assumed_value = CloneDvQuantity((openehr.openehr.am.openehr_profile.data_types.quantity.Impl.QUANTITY)o.assumed_value());
            }

            if (o.property() != null)
            {
                result.property = CloneCodePhrase(o.property());

                if (o.list() != null && o.list().count() > 0)
                {
                    result.list = new C_QUANTITY_ITEM[o.list().count()];

                    for (int i = 1; i <= result.list.Length; i++)
                    {
                        result.list[i - 1] = CloneQuantityItem(o.list().i_th(i) as openehr.openehr.am.openehr_profile.data_types.quantity.Impl.C_QUANTITY_ITEM);
                    }
                }
            }

            return(result);
        }
Beispiel #2
0
        private static CQuantity Map(this C_DV_QUANTITY model)
        {
            var quantity = new CQuantity
            {
                ReferenceModelTypeName = model.rm_type_name,
                NodeId = model.node_id
            };

            if (model.property != null)
            {
                quantity.Property = model.property.Map();
            }
            if (model.occurrences != null)
            {
                quantity.Occurences = model.occurrences.Map();
            }
            foreach (C_QUANTITY_ITEM unit in model.list)
            {
                quantity.QuantityConstraints.Add(new CQuantityItem
                {
                    Units     = unit.units,
                    Magnitude = unit.magnitude.Map()
                });
            }
            return(quantity);
        }