示例#1
0
        public static void AddGenericType(this IExtendable resource,
                                          String genericParamPath,
                                          String genericParamTypeUri)
        {
            if (resource is null)
            {
                throw new ArgumentNullException(nameof(resource));
            }
            if (genericParamPath is null)
            {
                throw new ArgumentNullException(nameof(genericParamPath));
            }
            if (genericParamTypeUri is null)
            {
                throw new ArgumentNullException(nameof(genericParamTypeUri));
            }

            // Make sure that generic name is a.b.c:d
            String[] parts    = genericParamPath.Split('.');
            String[] subParts = parts[parts.Length - 1].Split(':');
            Debug.Assert(subParts.Length == 2);

            ElementDefinition genericElement = new ElementDefinition()
            {
                ElementId = genericParamPath,
                Path      = genericParamPath
            };

            //$genericElement.Type.Add(new ElementDefinition.TypeRefComponent { Code = genericParamTypeUri });

            resource.AddExtension(GenericExtensionUri, genericElement);
        }
示例#2
0
        /// <summary>
        /// Set Composable.
        /// </summary>
        public static void SetComposable(this IExtendable resource,
                                         Composable composableValue)
        {
            switch (resource)
            {
            case StructureDefinition sDef: break;

            case ElementDefinition eDef: break;

            default: throw new Exception($"Can only set composable on an element definition");
            }

            resource.AddExtension(ComposableExtensionUri, new FhirString(composableValue.ToString()));
        }
 public static Extension AddStringAsExtension(this IExtendable extendable, string uri, string value, bool isModifier = false)
 {
     return(extendable.AddExtension(uri, new FhirString(value), isModifier));
 }