/*
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;
using Everest.Library.Data.Rule;
using Everest.Library.Data.Entity;
using Everest.Library.Versioning;
using Everest.Library.ExtensionMethod;
namespace Everest.CmsServices.Models{
public partial class Cms_Workflow : IRuleEntity
{
public Cms_Workflow()
{
this.UUID = Guid.NewGuid();
}
public void ClearSequences(IEverestCmsDataContext dataContext)
{
this.Cms_WorkflowSequence.Load();
while (this.Cms_WorkflowSequence.Count > 0)
{
dataContext.DeleteObject(Cms_WorkflowSequence.First());
}
Cms_WorkflowSequence.Clear();
}
#region IRuleEntity Members
public IEnumerable<RuleViolation> GetRuleViolations()
{
List<RuleViolation> violations = new List<RuleViolation>();
var dataContext = EverestCmsEntities.GetDataContext();
if (StringExtensions.IsNullOrEmptyTrim(this.WorkflowName))
{
violations.Add(new RuleViolation("WorkflowName", "WorkflowName", string.Format(Resources.FieldIsRequired, "WorkflowName")));
}
this.aspnet_ApplicationsReference.Load(this.aspnet_Applications, this.EntityState);
if (dataContext.IsWorkflowExists(this.aspnet_Applications.ApplicationName, this.WorkflowName, this.WorkflowId))
{
violations.Add(new RuleViolation("WorkflowName", "WorkflowName", Resources.WorkflowAlreadyExists));
}
return violations;
}
#endregion
//#region IRecyclable Members
//public string Title
//{
// get { return this.WorkflowName; }
//}
//public FolderType ObjectType
//{
// get { return FolderType.Workflow; }
//}
//public string FormFormSchemaName
//{
// get { return "Workflow"; }
//}
//public Cms_Folder Folder
//{
// get { return null; }
//}
//public aspnet_Applications Application
//{
// get
// {
// this.aspnet_ApplicationsReference.Load(this.aspnet_Applications, this.EntityState);
// return this.aspnet_Applications;
// }
//}
//#endregion
}
}
|