C_PRIMITIVE_OBJECT VisitPrimitiveObjectConstraint(C_PRIMITIVE_OBJECT objectConstraint)
        {
            System.Diagnostics.Trace.Assert(objectConstraint != null, "objectConstraint must not be null");

            C_PRIMITIVE result = VisitPrimitiveConstraint(objectConstraint.item);
            C_PRIMITIVE_OBJECT primitiveObjectConstraint = null;

            if (result != objectConstraint.item)
            {
                primitiveObjectConstraint = new C_PRIMITIVE_OBJECT();
                CloneObjectConstraint(objectConstraint, primitiveObjectConstraint);
                primitiveObjectConstraint.item = result;
            }
            else
                primitiveObjectConstraint = objectConstraint;

            System.Diagnostics.Debug.Assert(primitiveObjectConstraint != null, "primitiveObjectConstraint must not be null");
            return primitiveObjectConstraint;
        }
Beispiel #2
0
       public C_PRIMITIVE_OBJECT MakePrimitiveObject(C_ATTRIBUTE an_attribute, C_PRIMITIVE a_primative)
       {
           C_PRIMITIVE_OBJECT result = new C_PRIMITIVE_OBJECT();

           if (a_primative != null)
           {
               result.item = a_primative;
           }

           //JAR: 30APR2007, AE-42 Support XML Schema 1.0.1
           result.node_id = "";
           result.occurrences = default_occurrences();               
           
           //JAR: 30APR2007, AE-42 Support XML Schema 1.0.1
           //else
           //    result.any_allowed = true;           

           add_object(an_attribute, result);

           switch (a_primative.GetType().ToString().ToLower(System.Globalization.CultureInfo.InvariantCulture))
           {
               case "xmlparser.c_boolean":
                   result.rm_type_name = "BOOLEAN";
                   break;
               case "xmlparser.c_integer":
                   result.rm_type_name = "INTEGER";
                   break;
               case "xmlparser.c_code_phrase":
                   result.rm_type_name = "CODE_PHRASE";
                   break;
               case "xmlparser.c_date":
                   result.rm_type_name = "DATE";
                   break;
               case "xmlparser.c_date_time":
                   result.rm_type_name = "DATE_TIME";
                   break;
               case "xmlparser.c_duration":
                   result.rm_type_name = "DURATION";
                   break;
               case "xmlparser.c_ordinal":
                   result.rm_type_name = "ORDINAL";
                   break;
               case "xmlparser.c_quantity":
                   result.rm_type_name = "QUANTITY";
                   break;
               case "xmlparser.c_string":
                   result.rm_type_name = "STRING";
                   break;
               case "xmlparser.c_time":
                   result.rm_type_name = "TIME";
                   break;
               case "xmlparser.c_real":
                   result.rm_type_name = "REAL";
                   break;
               default:
                   System.Diagnostics.Debug.Assert(false, a_primative.GetType().ToString() + " is not handled");
                   break;
           }
           return result;
       }
        protected virtual object Visit(openehr.openehr.am.archetype.constraint_model.Impl.C_PRIMITIVE_OBJECT o, int depth)
        {
            C_PRIMITIVE_OBJECT result = new C_PRIMITIVE_OBJECT();
            CloneC_Object(result, o);

            if (o.item() != null)
                result.item = CloneC_Primitive(o.item());

            return result;
        }