/*
Kooboo is a content management system based on ASP.NET MVC framework. Copyright 2009 Yardi Technology Limited.
This program is free software: you can redistribute it and/or modify it under the terms of the
GNU General Public License version 3 as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program.
If not, see http://www.kooboo.com/gpl3/.
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.Mvc;
using Everest.Library.Data;
using Everest.Library.Extjs;
namespace Everest.Library.Data.Rule{
public static class IRuleEntityExtensions
{
/// <summary>
/// Updates the model state with violations.
/// </summary>
/// <param name="entity">The entity.</param>
/// <param name="modelStates">The model states.</param>
public static void UpdateModelStateWithViolations(this IRuleEntity entity, ModelStateDictionary modelStates)
{
IEnumerable<RuleViolation> issues = entity.GetRuleViolations();
foreach (var issue in issues)
{
modelStates.AddModelError(issue.PropertyName, issue.ErrorMessage);
}
}
/// <summary>
/// Updates the result data with violations.
/// </summary>
/// <param name="violations">The violations.</param>
/// <param name="resultData">The result data.</param>
public static void UpdateResultDataWithViolations(this IEnumerable<RuleViolation> violations, JsonResultData resultData)
{
foreach (var item in violations)
{
resultData.AddError(item.PropertyName, item.ErrorMessage);
}
}
}
}
|