/*
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 Everest.Library.Data.Rule;
using Everest.Library.Data;
using Everest.Library.Data.Entity;
using Everest.Library.Versioning;
using Everest.Library.ExtensionMethod;
namespace Everest.CmsServices.Models{
public partial class Cms_Validator : IVersionable, IRuleEntity
{
#region IVersionable Members
/// <summary>
/// Gets the name of the snapshot form(Schema name).
/// </summary>
/// <value>The name of the snapshot form.</value>
public string FormSchemaName
{
get { return "Validator"; }
}
public void OnRevert(IVersionItem workingItem, IVersionItem toRevertItem)
{
IEverestCmsDataContext dataContext = EverestCmsEntities.GetDataContext();
var currentValidator = dataContext.QueryValidator(this.UUID).First();
currentValidator.ValidatorName = this.ValidatorName;
currentValidator.Function = this.Function;
dataContext.SaveChanges();
}
#endregion
#region IRuleEntity Members
public IEnumerable<RuleViolation> GetRuleViolations()
{
var dataContext = EverestCmsEntities.GetDataContext();
List<RuleViolation> list = new List<RuleViolation>();
if (StringExtensions.IsNullOrEmptyTrim(this.ValidatorName))
{
list.Add(new RuleViolation("ValidatorName", this.ValidatorName, string.Format(Resources.FieldIsRequired, "ValidatorName")));
}
this.aspnet_ApplicationsReference.Load(this.aspnet_Applications, this.EntityState);
if (dataContext.IsValidatorExists(this.ValidatorName, this.aspnet_Applications.ApplicationName, this.ValidatorId).Exists())
{
list.Add(new RuleViolation("ValidatorName", this.ValidatorName, Resources.ValidatorAlreadyExists));
}
return list;
}
#endregion
}
}
|