private void CopyRepository(Kooboo.CMS.Content.Models.Repository sourceRepository, string name) { var repositoryManager = Kooboo.CMS.Content.Services.ServiceFactory.RepositoryManager; var repository = repositoryManager.Get(name); if (repository == null) { repositoryManager.Copy(sourceRepository, name); } }
public getRepositoryInfoResponse GetRepositoryInfo(getRepositoryInfoRequest request) { var repository = new Kooboo.CMS.Content.Models.Repository(request.repositoryId).AsActual(); if (repository != null) { var repositoryInfo = ToRepositoryInfo(repository); return new getRepositoryInfoResponse(repositoryInfo); } else { throw new FaultException<cmisFaultType>(ModelHelper.CreateFault(enumServiceException.objectNotFound)); } }
public string Generate(Kooboo.CMS.Content.Models.Repository repository, Models.DataRuleSetting dataRule, bool inlineEdit) { if (dataRule.DataRule is DataRuleBase) { var dataRuleBase = (DataRuleBase)dataRule.DataRule; var schema = (dataRuleBase.GetSchema(repository)).AsActual(); string html = @" #foreach($item in $ViewBag.{0}) #each <li{2}>{1}</li> #before #after #between #odd #even #nodata #beforeall <ul class=""list""> #afterall </ul> #end"; var titleField = schema.GetSummarizeColumn(); var editItem = ""; var linkHtml = string.Format("<a class='title' href='$Url.FrontUrl().PageUrl(\"{1}/detail\",\"%{{UserKey = $item.UserKey}}\")'>$item.{0}</a>", titleField.Name, schema.Name); if (inlineEdit) { editItem = " $ViewHelper.Edit($item)"; linkHtml = string.Format("<a class='title' href='$Url.FrontUrl().PageUrl(\"{1}/detail\",\"%{{UserKey = $item.UserKey}}\")' $ViewHelper.Edit($item,\"{0}\")>$item.{0}</a>", titleField.Name, schema.Name); } var snippet = string.Format(html, dataRule.DataName, linkHtml, editItem); if (dataRule.DataRule.EnablePaging.Value) { snippet += Environment.NewLine + string.Format(@" <div class=""pager""> $Html.FrontHtml().Pager($ViewBag.{0}) </div>", dataRule.DataName); } return(snippet); } return(string.Empty); }
public virtual ActionResult ImportRepository(string siteName, ImportRepositoryModel model, string @return) { var data = new JsonResultData(ModelState); var site = new Site(siteName).AsActual(); if (site != null && ModelState.IsValid) { data.RunWithTry((resultData) => { Kooboo.CMS.Content.Models.Repository repository = null; if (Request.Files.Count > 0) { repository = Kooboo.CMS.Content.Services.ServiceFactory.RepositoryManager.Create(model.Repository, Request.Files[0].InputStream); } else { repository = Kooboo.CMS.Content.Services.ServiceFactory.RepositoryManager.Create(model.Repository, model.File); } var oldRepository = site.Repository; if (repository != null) { site.Repository = repository.Name; ServiceFactory.SiteManager.Update(site); } try { if (model.DeleteTheOldRepository) { repository = new Kooboo.CMS.Content.Models.Repository(oldRepository); if (!Kooboo.CMS.Sites.Services.ServiceFactory.SiteManager.IfTheRepositoryUsedByOtherSites(site, oldRepository)) { Kooboo.CMS.Content.Services.ServiceFactory.RepositoryManager.Remove(repository); } ; } } catch (Exception e) { Kooboo.HealthMonitoring.Log.LogException(e); } resultData.RedirectUrl = @return; }); } return(Json(data)); }
public virtual ActionResult ImportRepository(string siteName, ImportRepositoryModel model, bool uploadNew) { var entry = new JsonResultEntry(); try { var site = new Site(siteName).AsActual(); if (site != null && ModelState.IsValid) { Kooboo.CMS.Content.Models.Repository repository = null; if (uploadNew) { if (!Request.Files[0].FileName.EndsWith(".zip")) { throw new KoobooException("Please upload an zip file".Localize()); } repository = Kooboo.CMS.Content.Services.ServiceFactory.RepositoryManager.Create(model.Name, Request.Files[0].InputStream); } else { repository = Kooboo.CMS.Content.Services.ServiceFactory.RepositoryManager.Create(model.Name, model.File); } if (repository != null) { site.Repository = repository.Name; ServiceFactory.SiteManager.Update(site); } } else { entry.AddModelState(ModelState); } } catch (Exception e) { entry.AddException(e); } return(Json(entry)); }
public virtual ActionResult ImportRepository(string siteName, ImportRepositoryModel model, string @return) { var data = new JsonResultData(ModelState); var site = new Site(siteName).AsActual(); if (site != null && ModelState.IsValid) { data.RunWithTry((resultData) => { Kooboo.CMS.Content.Models.Repository repository = null; if (Request.Files.Count > 0) { repository = Kooboo.CMS.Content.Services.ServiceFactory.RepositoryManager.Create(model.Repository, Request.Files[0].InputStream); } else { repository = Kooboo.CMS.Content.Services.ServiceFactory.RepositoryManager.Create(model.Repository, model.File); } var oldRepository = site.Repository; if (repository != null) { site.Repository = repository.Name; ServiceFactory.SiteManager.Update(site); } try { if (model.DeleteTheOldRepository) { repository = new Kooboo.CMS.Content.Models.Repository(oldRepository); if (!Kooboo.CMS.Sites.Services.ServiceFactory.SiteManager.IfTheRepositoryUsedByOtherSites(site, oldRepository)) { Kooboo.CMS.Content.Services.ServiceFactory.RepositoryManager.Remove(repository); }; } } catch (Exception e) { Kooboo.HealthMonitoring.Log.LogException(e); } resultData.RedirectUrl = @return; }); } return Json(data); }