view Source/Templates/ValidationAttributes.ttinclude @ 4:f757da6161a1

!bug 100 + 2h fixed gregression
author cin
date Sun, 24 Aug 2014 17:57:42 +0400
parents f990fcb411a9
children
line wrap: on
line source

<#
	{
		var validationPrevBeforeGenerateModel = BeforeGenerateModel;

		BeforeGenerateModel = tt =>
		{
			validationPrevBeforeGenerateModel(tt);

			Usings.Add("BLToolkit.Validation");

			foreach (var t in Tables.Values)
			{
				var maxLength = t.Columns.Values
					.Where (x => x.Type == "string")
					.Select(x => x.Length)
					.OrderByDescending(x => x)
					.FirstOrDefault()
					// Get exponent slowly
					.ToString().Length;

				foreach (var c in t.Columns.Values)
				{
					if (c.Type == "string" && c.Length > 0)
						c.Attributes.Add(string.Format("MaxLength({0," + maxLength + "})", c.Length));

					if (!c.IsNullable)
						c.Attributes.Add("Required");
				}
			}
		};
	}
#>