nHydrate.Generator.Models.TableComponentCollectionController.Verify C# (CSharp) Method

Verify() public method

public Verify ( ) : MessageCollection
return MessageCollection
		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;
			}

		}