/*
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 System.Reflection;
using Everest.Library;
using Everest.Library.Data.Entity;
using Everest.Library.Providers.Caching;
using Everest.CmsServices.Models;
using Everest.CmsServices.Services;
using Everest.CmsServices.Providers;
using Everest.Library.ExtensionMethod;
namespace Everest.CmsServices.Controllers{
public class DynamicScriptController : CmsExtController
{
public ActionResult Execute(Guid folderUUID, Guid contentUUID, int functionId)
{
var dataContext = EverestCmsEntities.GetDataContext();
Cms_Content content = dataContext.QueryContent(contentUUID).First();
var schema = content.Cms_SchemaReference.Load(content.Cms_Schema, content.EntityState);
var function = dataContext.QuerySchemaFunction(functionId).First();
var contentProvider = UnityManager.Resolve<IContentProvider>();
var contentValues = contentProvider.TextContentManager.QueryContent(dataContext, content).ToNameValueCollection();
//
// void Execute(IEverestCmsDataContext dataContext, IContentProvider contentProvider, Cms_Content content,NameValueCollection contentValues,Cms_Schema schema)
//
DynamicScriptExecutor.Execute(function.Script, "*.Execute", dataContext, contentProvider, content, contentValues, schema);
return null;
}
}
}
|