28 lines
1.1 KiB
C#
28 lines
1.1 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Web.Mvc;
|
|
|
|
namespace EnVisage.Models.ValidationAttributes.Scenarios
|
|
{
|
|
public class DateForStartOfChangeValidatorAttribute : ValidationAttributeBase, IClientValidatable
|
|
{
|
|
public IEnumerable<ModelClientValidationRule> GetClientValidationRules(ModelMetadata metadata, ControllerContext context)
|
|
{
|
|
var rule = new ModelClientValidationRule
|
|
{
|
|
ErrorMessage = ErrorMessage,
|
|
ValidationType = "dateforstartofchange"
|
|
};
|
|
|
|
var hasActuals = ((bool?)GetPropertyValue("HasActuals", metadata, context) ?? false);
|
|
var actualsEndDate = ((long?)GetPropertyValue("ActualsEndDate", metadata, context) ?? 0);
|
|
|
|
rule.ValidationParameters["hasactuals"] = Convert.ToInt32(hasActuals);
|
|
rule.ValidationParameters["actualsenddate"] = actualsEndDate;
|
|
rule.ValidationParameters["scenariostartdateproperty"] = "StartDate";
|
|
rule.ValidationParameters["scenarioenddateproperty"] = "EndDate";
|
|
|
|
yield return rule;
|
|
}
|
|
}
|
|
} |