/// <summary>
        /// Build validation for datetime properties.
        /// This inclues checking for null and length of the string.
        /// </summary>
        /// <param name="model"></param>
        /// <param name="prop"></param>
        /// <param name="buffer"></param>
        public void BuildValidationForDateTimeProperty(Model model, PropInfo prop, StringBuilder buffer)
        {
            PropStringVals vals = new PropStringVals(model, prop)
            {
                MethodName = "IsDateWithinRange"
            };
            string validationCode = "Validation.{0}({1}, {2}, {3}, {4}, {5}, {6}, {7} );" + Environment.NewLine;
            string codeLine       = string.Format(validationCode, vals.MethodName, vals.PropName, vals.CheckMinLength, vals.CheckMaxLength, vals.Min, vals.Max, "results", '"' + prop.Name + '"');

            buffer.Append(GetIndent() + codeLine);
        }
        /// <summary>
        /// Build validation for int properties.
        /// This inclues checking for null and length of the string.
        /// </summary>
        /// <param name="model"></param>
        /// <param name="prop"></param>
        /// <param name="buffer"></param>
        public void BuildValidationForStringRegExProperty(Model model, PropInfo prop, StringBuilder buffer)
        {
            PropStringVals vals = new PropStringVals(model, prop)
            {
                AllowNull = "false", MethodName = "IsStringRegExMatch"
            };
            string validationCode = "Validation.{0}({1}, {2}, {3}, {4}, {5} );" + Environment.NewLine;
            string regexPattern   = prop.IsRegExConst ? prop.RegEx : "@\"" + prop.RegEx + "\"";
            string codeLine       = string.Format(validationCode, vals.MethodName, vals.PropName, vals.AllowNull, regexPattern, "results", '"' + prop.Name + '"');

            buffer.Append(GetIndent() + codeLine);
        }