diff --git a/KInspector.Modules/Modules/Content/WorkflowConsistencyModule.cs b/KInspector.Modules/Modules/Content/WorkflowConsistencyModule.cs index bbbafb6c..277a14c3 100644 --- a/KInspector.Modules/Modules/Content/WorkflowConsistencyModule.cs +++ b/KInspector.Modules/Modules/Content/WorkflowConsistencyModule.cs @@ -24,9 +24,9 @@ public ModuleMetadata GetModuleMetadata() return new ModuleMetadata { Name = "Workflow consistency", - SupportedVersions = new[] { + SupportedVersions = new[] { new Version("7.0"), - new Version("8.0"), + new Version("8.0"), new Version("8.1"), new Version("8.2"), new Version("9.0") }, @@ -92,6 +92,12 @@ private List FindDocumentsWithInconsistencies() { var classItem = GetClassItem(document.ClassName); + if (!classItem.ClassIsDocumentType || !classItem.ClassIsCoupledClass) + { + // Skip processing of document that has no coupled table + continue; + } + // Get published data values var publishedValues = GetDictionaryWithValues(classItem, document.DocumentForeignKeyValue); @@ -227,13 +233,13 @@ private List GetDocuments() { list.Add(new DocumentItem { - DocumentID = Convert.ToInt32(documentItem["DocumentID"]), - DocumentName = documentItem["DocumentName"].ToString(), - ClassName = documentItem["ClassName"].ToString(), - DocumentForeignKeyValue = Convert.ToInt32(documentItem["DocumentForeignKeyValue"]), + DocumentID = Convert.IsDBNull(documentItem["DocumentID"]) ? 0 : Convert.ToInt32(documentItem["DocumentID"]), + DocumentName = documentItem["DocumentName"]?.ToString(), + ClassName = documentItem["ClassName"]?.ToString(), + DocumentForeignKeyValue = Convert.IsDBNull(documentItem["DocumentForeignKeyValue"]) ? 0 : Convert.ToInt32(documentItem["DocumentForeignKeyValue"]), NodeXML = documentItem["NodeXML"].ToString(), - NodeAliasPath = documentItem["NodeAliasPath"].ToString(), - DocumentCulture = documentItem["DocumentCulture"].ToString() + NodeAliasPath = documentItem["NodeAliasPath"]?.ToString(), + DocumentCulture = documentItem["DocumentCulture"]?.ToString() }); } @@ -242,7 +248,7 @@ private List GetDocuments() private void InitializeClassNames() { - var sql = "select ClassName, ClassFormDefinition, ClassTableName from CMS_Class where ClassIsDocumentType = '1'"; + var sql = "select ClassName, ClassFormDefinition, ClassTableName, ClassIsCoupledClass, ClassIsDocumentType from CMS_Class"; var result = InstanceInfo.DBService.ExecuteAndGetDataSet(sql); var list = new List(); @@ -253,7 +259,9 @@ private void InitializeClassNames() { ClassName = classItem["ClassName"].ToString(), TableName = classItem["ClassTableName"].ToString(), - ClassFormDefinition = classItem["ClassFormDefinition"].ToString() + ClassFormDefinition = classItem["ClassFormDefinition"].ToString(), + ClassIsCoupledClass = Convert.ToBoolean(classItem["ClassIsCoupledClass"]), + ClassIsDocumentType = Convert.ToBoolean(classItem["ClassIsDocumentType"]), }); } @@ -301,6 +309,8 @@ private class DocumentItem private class ClassItem { + public bool ClassIsDocumentType { get; set; } + public bool ClassIsCoupledClass { get; set; } public string ClassName { get; set; } public string TableName { get; set; } public string ClassFormDefinition { get; set; }