BExIS.Dcm.CreateDatasetWizard.UsageHelper.HasRequiredSimpleTypes C# (CSharp) Method

HasRequiredSimpleTypes() public static method

public static HasRequiredSimpleTypes ( BaseUsage usage ) : bool
usage BaseUsage
return bool
        public static bool HasRequiredSimpleTypes(BaseUsage usage)
        {
            if (usage is MetadataPackageUsage)
            {
                MetadataPackageUsage mpu = (MetadataPackageUsage)usage;

                foreach (BaseUsage childUsage in mpu.MetadataPackage.MetadataAttributeUsages)
                {
                    if (IsSimple(childUsage) && childUsage.MinCardinality > 0) return true;
                }
            }

            if (usage is MetadataAttributeUsage)
            {
                MetadataAttributeUsage mau = (MetadataAttributeUsage)usage;
                if (mau.MetadataAttribute.Self is MetadataCompoundAttribute)
                {
                    foreach (BaseUsage childUsage in ((MetadataCompoundAttribute)mau.MetadataAttribute.Self).MetadataNestedAttributeUsages)
                    {
                        if (IsSimple(childUsage) && childUsage.MinCardinality > 0 ) return true;
                    }
                }
            }

            if (usage is MetadataNestedAttributeUsage)
            {
                MetadataNestedAttributeUsage mnau = (MetadataNestedAttributeUsage)usage;
                if (mnau.Member.Self is MetadataCompoundAttribute)
                {
                    foreach (BaseUsage childUsage in ((MetadataCompoundAttribute)mnau.Member.Self).MetadataNestedAttributeUsages)
                    {
                        if (IsSimple(childUsage) && childUsage.MinCardinality > 0 ) return true;
                    }
                }
            }

            return false;
        }