Exemple #1
0
        protected void Validate(CReal cReal)
        {
            this.ValidateBase((CPrimitive)cReal);

            Invariant(cReal.List != null ^ cReal.Range != null, CommonStrings.CRealListXorRange);

            if (cReal.Range != null)
                this.Validate(cReal.Range);
        }
Exemple #2
0
        private void WriteXml(CReal cPrimitive)
        {
            if (cPrimitive.List != null && cPrimitive.List.Count > 0)
            {
                foreach (float item in cPrimitive.List)
                {
                    writer.WriteElementString("list", OpenEhrNamespace, item.ToString());
                }
            }

            if (cPrimitive.Range != null)
            {
                writer.WriteStartElement(UseOpenEhrPrefix(writer), "range", OpenEhrNamespace);
                this.WriteXml(cPrimitive.Range);
                writer.WriteEndElement();
            }

            if (cPrimitive.assumedValueSet)
                writer.WriteElementString("assumed_value", OpenEhrNamespace, cPrimitive.AssumedValue.ToString());
        }
Exemple #3
0
        internal static OpenEhr.AM.Archetype.ConstraintModel.Primitive.CPrimitive CPrimitive(string typeName)
        {
            DesignByContract.Check.Require(!string.IsNullOrEmpty(typeName), string.Format(CommonStrings.XMustNotBeNullOrEmpty, "typeName"));

            OpenEhr.AM.Archetype.ConstraintModel.Primitive.CPrimitive cPrimitive = null;
            switch (typeName)
            {
                case "C_BOOLEAN":
                    cPrimitive = new CBoolean();
                    break;
                case "C_DATE":
                    cPrimitive = new CDate();
                    break;
                case "C_DATE_TIME":
                    cPrimitive = new CDateTime();
                    break;
                case "C_DURATION":
                    cPrimitive = new CDuration();
                    break;
                case "C_TIME":
                    cPrimitive = new CTime();
                    break;
                case "C_INTEGER":
                    cPrimitive = new CInteger();
                    break;
                case "C_REAL":
                    cPrimitive = new CReal();
                    break;
                case "C_STRING":
                    cPrimitive = new CString();
                    break;
                default:
                    throw new NotSupportedException("type not supported: " + typeName);
            }

            DesignByContract.Check.Ensure(cPrimitive != null, "cObject must not be null.");

            return cPrimitive;
        }
Exemple #4
0
        private void ReadXml(CReal cReal)
        {
            reader.ReadStartElement();
            reader.MoveToContent();

            if (reader.LocalName == "list")
            {
                System.Collections.Generic.List<float> floatList = new System.Collections.Generic.List<float>();
                do
                {
                    floatList.Add(reader.ReadElementContentAsFloat("list", OpenEhrNamespace));
                    reader.MoveToContent();
                } while (reader.LocalName == "list");

                if (floatList.Count > 0)
                    cReal.List = new Set<float>(floatList);
            }

            if (reader.LocalName == "range")
            {
                cReal.Range = new Interval<float>();
                this.ReadXml(cReal.Range);
            }

            if (reader.LocalName == "assumed_value")
            {
                cReal.AssumedValue = reader.ReadElementContentAsInt("assumed_value", OpenEhrNamespace);
                reader.MoveToContent();
            }

            reader.ReadEndElement();
            reader.MoveToContent();
        }