public override MessageCollection Verify()
{
try
{
var retval = new MessageCollection();
retval.AddRange(base.Verify());
var tableComponentCollection = (TableComponentCollection)this.Object;
//Check for duplicate names
var nameList = new Dictionary<string, TableComponent>();
foreach (TableComponent component in tableComponentCollection)
{
var name = component.Name.ToLower();
if (nameList.ContainsKey(name))
retval.Add(MessageTypeConstants.Error, string.Format(ValidationHelper.ErrorTextDuplicateName, component.Name), component.Controller);
else
nameList.Add(name, component);
}
//Check to ensure all items have at least one column
foreach (var component in tableComponentCollection.ToList())
{
if (component.Columns.Count == 0)
{
retval.Add(MessageTypeConstants.Error, string.Format(ValidationHelper.ErrorTextTableComponentNoColumns, component.Name), component.Controller);
}
}
//Check for duplicate names with tables
foreach (Table table in ((ModelRoot)tableComponentCollection.Root).Database.Tables)
{
if (nameList.ContainsKey(table.Name.ToLower()))
{
retval.Add(MessageTypeConstants.Error, string.Format(ValidationHelper.ErrorTextComponentTableDuplicateName, nameList[table.Name.ToLower()].Name), nameList[table.Name.ToLower()].Controller);
}
}
return retval;
}
catch (Exception ex)
{
throw;
}
}