public List<IDataListVerifyPart> MissingWorkflowItems(IList<IDataListVerifyPart> partsToVerify, bool excludeUnusedItems = false)
{
var missingWorkflowParts = new List<IDataListVerifyPart>();
if(DataListSingleton.ActiveDataList != null && DataListSingleton.ActiveDataList.DataList != null)
{
foreach(var dataListItem in DataListSingleton.ActiveDataList.DataList)
{
if(String.IsNullOrEmpty(dataListItem.Name))
{
continue;
}
if((dataListItem.Children.Count > 0))
{
if(partsToVerify.Count(part => part.Recordset == dataListItem.Name) == 0)
{
//19.09.2012: massimo.guerrera - Added in the description to creating the part
if(dataListItem.IsEditable)
{
// skip it if unused and exclude is on ;)
if(excludeUnusedItems && !dataListItem.IsUsed)
{
continue;
}
missingWorkflowParts.Add(
IntellisenseFactory.CreateDataListValidationRecordsetPart(dataListItem.Name,
String.Empty,
dataListItem.Description));
// ReSharper disable once LoopCanBeConvertedToQuery
foreach(var child in dataListItem.Children)
{
if(!(String.IsNullOrEmpty(child.Name)))
{
//19.09.2012: massimo.guerrera - Added in the description to creating the part
if(dataListItem.IsEditable)
{
missingWorkflowParts.Add(
IntellisenseFactory.CreateDataListValidationRecordsetPart(
dataListItem.Name, child.Name, child.Description));
}
}
}
}
}
else
{
// ReSharper disable once LoopCanBeConvertedToQuery
foreach(var child in dataListItem.Children)
if(partsToVerify.Count(part => part.Field == child.Name && part.Recordset == child.Parent.Name) == 0)
{
//19.09.2012: massimo.guerrera - Added in the description to creating the part
if(child.IsEditable)
{
// skip it if unused and exclude is on ;)
if(excludeUnusedItems && !dataListItem.IsUsed)
{
continue;
}
missingWorkflowParts.Add(
IntellisenseFactory.CreateDataListValidationRecordsetPart(
dataListItem.Name, child.Name, child.Description));
}
}
}
}
else if(partsToVerify.Count(part => part.Field == dataListItem.Name) == 0)
{
if(dataListItem.IsEditable)
{
// skip it if unused and exclude is on ;)
if(excludeUnusedItems && !dataListItem.IsUsed)
{
continue;
}
//19.09.2012: massimo.guerrera - Added in the description to creating the part
missingWorkflowParts.Add(
IntellisenseFactory.CreateDataListValidationScalarPart(dataListItem.Name,
dataListItem.Description));
}
}
}
}
return missingWorkflowParts;
}