public void ImportModule(int moduleId, string Content, string version, int userId) { var module = new OpenContentModuleInfo(moduleId, Null.NullInteger); var index = module.Settings.Template.Manifest.Index; var indexConfig = OpenContentUtils.GetIndexConfig(module.Settings.Template); OpenContentController ctrl = new OpenContentController(); XmlNode xml = Globals.GetContent(Content, "opencontent"); foreach (XmlNode item in xml.SelectNodes("item")) { XmlNode json = item.SelectSingleNode("json"); XmlNode collection = item.SelectSingleNode("collection"); XmlNode key = item.SelectSingleNode("key"); var contentInfo = new OpenContentInfo() { ModuleId = moduleId, Collection = collection?.InnerText ?? "", Key = key?.InnerText ?? "", Json = item.InnerText, CreatedByUserId = userId, CreatedOnDate = DateTime.Now, LastModifiedByUserId = userId, LastModifiedOnDate = DateTime.Now, Title = "" }; ctrl.AddContent(contentInfo, index, indexConfig); } }
public void UpdateContent(OpenContentInfo content) { ClearDataCache(content); var json = content.JsonAsJToken; OpenContentVersion ver = new OpenContentVersion() { Json = json, CreatedByUserId = content.CreatedByUserId, CreatedOnDate = content.CreatedOnDate, LastModifiedByUserId = content.LastModifiedByUserId, LastModifiedOnDate = content.LastModifiedOnDate }; var versions = content.Versions; if (versions.Count == 0 || versions[0].Json.ToString() != content.Json) { versions.Insert(0, ver); if (versions.Count > OpenContentControllerFactory.Instance.OpenContentGlobalSettingsController(PortalSettings.Current.PortalId).GetMaxVersions()) { versions.RemoveAt(versions.Count - 1); } content.Versions = versions; } using (IDataContext ctx = DataContext.Instance()) { var rep = ctx.GetRepository <OpenContentInfo>(); rep.Update(content); ModuleController.SynchronizeModule(content.ModuleId); } }
public void AddContent(OpenContentInfo content, bool index, FieldConfig indexConfig) { ClearCache(content); OpenContentVersion ver = new OpenContentVersion() { Json = content.JsonAsJToken, CreatedByUserId = content.CreatedByUserId, CreatedOnDate = content.CreatedOnDate, LastModifiedByUserId = content.LastModifiedByUserId, LastModifiedOnDate = content.LastModifiedOnDate }; var versions = new List <OpenContentVersion>(); versions.Add(ver); content.Versions = versions; using (IDataContext ctx = DataContext.Instance()) { var rep = ctx.GetRepository <OpenContentInfo>(); rep.Insert(content); ModuleController.SynchronizeModule(content.ModuleId); } if (index) { LuceneController.Instance.Add(content, indexConfig); LuceneController.Instance.Store.Commit(); } }
public void AddContent(OpenContentInfo content) { SynchronizeXml(content); ClearDataCache(content); var json = content.JsonAsJToken; if (string.IsNullOrEmpty(content.Key)) { content.Key = json["_id"]?.ToString() ?? ObjectId.NewObjectId().ToString(); } if (string.IsNullOrEmpty(content.Collection)) { content.Collection = App.Config.DefaultCollection; } OpenContentVersion ver = new OpenContentVersion() { Json = json, CreatedByUserId = content.CreatedByUserId, CreatedOnDate = content.CreatedOnDate, LastModifiedByUserId = content.LastModifiedByUserId, LastModifiedOnDate = content.LastModifiedOnDate }; var versions = new List <OpenContentVersion>(); versions.Add(ver); content.Versions = versions; using (IDataContext ctx = DataContext.Instance()) { var rep = ctx.GetRepository <OpenContentInfo>(); rep.Insert(content); } }
public void UpdateContent(OpenContentInfo content) { ClearDataCache(content); var json = content.JsonAsJToken; SynchronizeXml(content); OpenContentVersion ver = new OpenContentVersion() { Json = json, CreatedByUserId = content.CreatedByUserId, CreatedOnDate = content.CreatedOnDate, LastModifiedByUserId = content.LastModifiedByUserId, LastModifiedOnDate = content.LastModifiedOnDate }; var versions = content.Versions; if (versions.Count == 0 || versions[0].Json.ToString() != content.Json) { versions.Insert(0, ver); if (versions.Count > (PortalId > -1 ? 5 : App.Services.CreateGlobalSettingsRepository(PortalId).GetMaxVersions())) { versions.RemoveAt(versions.Count - 1); } content.Versions = versions; } using (IDataContext ctx = DataContext.Instance()) { var rep = ctx.GetRepository <OpenContentInfo>(); rep.Update(content); } }
public void UpdateContent(OpenContentInfo Content) { using (IDataContext ctx = DataContext.Instance()) { var rep = ctx.GetRepository<OpenContentInfo>(); rep.Update(Content); } }
public void DeleteContent(OpenContentInfo content) { ClearDataCache(content); using (IDataContext ctx = DataContext.Instance()) { var rep = ctx.GetRepository <OpenContentInfo>(); rep.Delete(content); } }
public HttpResponseMessage Add(UpdateRequest req) { try { ModuleController mc = new ModuleController(); var requestModule = mc.GetModule(req.ModuleId, req.TabId, false); bool index = false; OpenContentSettings settings = requestModule.OpenContentSettings(); ModuleInfo module = requestModule; if (settings.ModuleId > 0) { module = mc.GetModule(settings.ModuleId, settings.TabId, false); } var manifest = settings.Template.Manifest; TemplateManifest templateManifest = settings.Template; index = settings.Template.Manifest.Index; string editRole = manifest.GetEditRole(); bool listMode = templateManifest != null && templateManifest.IsListTemplate; int createdByUserid = -1; OpenContentController ctrl = new OpenContentController(); if (listMode) { if (!OpenContentUtils.HasEditPermissions(PortalSettings, module, editRole, createdByUserid)) { return(Request.CreateResponse(HttpStatusCode.Unauthorized)); } var indexConfig = OpenContentUtils.GetIndexConfig(settings.Template.Key.TemplateDir); OpenContentInfo content = new OpenContentInfo() { ModuleId = module.ModuleID, Title = ActiveModule.ModuleTitle, Json = req.json.ToString(), JsonAsJToken = req.json, CreatedByUserId = UserInfo.UserID, CreatedOnDate = DateTime.Now, LastModifiedByUserId = UserInfo.UserID, LastModifiedOnDate = DateTime.Now, Html = "", }; ctrl.AddContent(content, index, indexConfig); return(Request.CreateResponse(HttpStatusCode.OK, "")); } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "It's not a list mode module")); } } catch (Exception exc) { Log.Logger.Error(exc); return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, exc)); } }
private static void ClearCache(OpenContentInfo content) { if (content.ContentId > 0) { DataCache.ClearCache(GetContentIdCacheKey(content.ContentId)); } if (content.ModuleId > 0) { DataCache.ClearCache(GetModuleIdCacheKey(content.ModuleId)); } }
public void UpdateXmlContent(OpenContentInfo content) { ClearDataCache(content); SynchronizeXml(content); using (IDataContext ctx = DataContext.Instance()) { var rep = ctx.GetRepository <OpenContentInfo>(); rep.Update(content); ModuleController.SynchronizeModule(content.ModuleId); } }
private static void ClearDataCache(OpenContentInfo content) { if (content.ContentId > 0) { App.Services.CacheAdapter.ClearCache(GetContentIdCacheKey(content.ContentId)); } if (content.ModuleId > 0) { App.Services.CacheAdapter.ClearCache(GetModuleIdCacheKey(content.ModuleId)); } }
public void ImportModule(int ModuleID, string Content, string Version, int UserID) { OpenContentController ctrl = new OpenContentController(); XmlNode xml = Globals.GetContent(Content, "opencontent"); var content = new OpenContentInfo() { ModuleId = ModuleID, Json = xml.SelectSingleNode("json").InnerText, CreatedByUserId = UserID, CreatedOnDate = DateTime.Now, LastModifiedByUserId = UserID, LastModifiedOnDate = DateTime.Now, Html = "" }; ctrl.AddContent(content); }
public void DeleteContent(OpenContentInfo content, bool index) { ClearCache(content); using (IDataContext ctx = DataContext.Instance()) { var rep = ctx.GetRepository <OpenContentInfo>(); rep.Delete(content); ModuleController.SynchronizeModule(content.ModuleId); } if (index) { LuceneController.Instance.Delete(content); LuceneController.Instance.Store.Commit(); } }
public void AddContent(OpenContentInfo content, bool index, FieldConfig indexConfig) { ClearCache(content); var json = content.JsonAsJToken; if (string.IsNullOrEmpty(content.Key)) { if (json["_id"] != null) { content.Key = json["_id"].ToString(); } else { content.Key = ObjectId.NewObjectId().ToString(); //json["_id"] = content.Id; //content.Json = json.ToString(); } } if (string.IsNullOrEmpty(content.Collection)) { content.Collection = AppConfig.DEFAULT_COLLECTION; } OpenContentVersion ver = new OpenContentVersion() { Json = json, CreatedByUserId = content.CreatedByUserId, CreatedOnDate = content.CreatedOnDate, LastModifiedByUserId = content.LastModifiedByUserId, LastModifiedOnDate = content.LastModifiedOnDate }; var versions = new List <OpenContentVersion>(); versions.Add(ver); content.Versions = versions; using (IDataContext ctx = DataContext.Instance()) { var rep = ctx.GetRepository <OpenContentInfo>(); rep.Insert(content); ModuleController.SynchronizeModule(content.ModuleId); } if (index) { LuceneController.Instance.Add(content, indexConfig); LuceneController.Instance.Store.Commit(); } }
public static void HydrateDefaultFields(this OpenContentInfo content, FieldConfig indexConfig) { if (indexConfig.HasField(AppConfig.FieldNamePublishStartDate) && content.JsonAsJToken != null && content.JsonAsJToken[AppConfig.FieldNamePublishStartDate] == null) { content.JsonAsJToken[AppConfig.FieldNamePublishStartDate] = DateTime.MinValue; } if (indexConfig.HasField(AppConfig.FieldNamePublishEndDate) && content.JsonAsJToken != null && content.JsonAsJToken[AppConfig.FieldNamePublishEndDate] == null) { content.JsonAsJToken[AppConfig.FieldNamePublishEndDate] = DateTime.MaxValue; } if (indexConfig.HasField(AppConfig.FieldNamePublishStatus) && content.JsonAsJToken != null && content.JsonAsJToken[AppConfig.FieldNamePublishStatus] == null) { content.JsonAsJToken[AppConfig.FieldNamePublishStatus] = "published"; } }
public void ImportModule(int moduleId, string Content, string version, int userId) { OpenContentController ctrl = new OpenContentController(); XmlNode xml = Globals.GetContent(Content, "opencontent"); var content = new OpenContentInfo() { ModuleId = moduleId, Json = xml.SelectSingleNode("json").InnerText, CreatedByUserId = userId, CreatedOnDate = DateTime.Now, LastModifiedByUserId = userId, LastModifiedOnDate = DateTime.Now, Title = "", Html = "" }; ctrl.AddContent(content, false, null); }
public HttpResponseMessage Add(UpdateRequest req) { try { var module = new OpenContentModuleInfo(req.ModuleId, req.TabId); string editRole = module.Settings.Template.Manifest.GetEditRole(); OpenContentController ctrl = new OpenContentController(); if (module.IsListMode()) { if (!OpenContentUtils.HasEditPermissions(PortalSettings, module.ViewModule, editRole, -1)) { Log.Logger.WarnFormat("Failed the HasEditPermissions() check for "); return(Request.CreateResponse(HttpStatusCode.Unauthorized, "Failed the HasEditPermissions() check")); } var index = module.Settings.Template.Manifest.Index; var indexConfig = OpenContentUtils.GetIndexConfig(module.Settings.Template.Key.TemplateDir, "Items"); OpenContentInfo content = new OpenContentInfo() { ModuleId = module.DataModule.ModuleID, Collection = req.Collection, Title = ActiveModule.ModuleTitle, Json = req.json.ToString(), CreatedByUserId = UserInfo.UserID, CreatedOnDate = DateTime.Now, LastModifiedByUserId = UserInfo.UserID, LastModifiedOnDate = DateTime.Now }; ctrl.AddContent(content, index, indexConfig); return(Request.CreateResponse(HttpStatusCode.OK, "")); } else { return(Request.CreateResponse(HttpStatusCode.BadRequest, "It's not a list mode module")); } } catch (Exception exc) { Log.Logger.Error(exc); return(Request.CreateErrorResponse(HttpStatusCode.InternalServerError, exc)); } }
private void SynchronizeXml(OpenContentInfo content) { if (PortalId > -1) { if (App.Services.CreateGlobalSettingsRepository(PortalId).IsSaveXml() && !string.IsNullOrEmpty(content.Json)) { try { content.Xml = Newtonsoft.Json.JsonConvert.DeserializeXNode(content.Json, "root").ToString(); } catch (Exception ex) { App.Services.Logger.Error($"Error while Updating OpenContent Xml data for module {content.ModuleId}, ContentId {content.ContentId}", ex); } } else { content.Xml = null; } } }
private void SynchronizeXml(OpenContentInfo content) { if (PortalId > -1) { if (OpenContentControllerFactory.Instance.OpenContentGlobalSettingsController(PortalId).IsSaveXml() && !string.IsNullOrEmpty(content.Json)) { try { content.Xml = Newtonsoft.Json.JsonConvert.DeserializeXNode(content.Json, "root").ToString(); } catch (Exception ex) { Log.Logger.Error($"Error while Updating OpenContent Xml data for module {content.ModuleId}, ContentId {content.ContentId}", ex); } } else { content.Xml = null; } } }
public void UpdateContent(OpenContentInfo content, bool index, FieldConfig indexConfig) { ClearCache(content); var json = content.JsonAsJToken; //json["_id"] = content.Id; //content.Json = json.ToString(); OpenContentVersion ver = new OpenContentVersion() { Json = json, CreatedByUserId = content.CreatedByUserId, CreatedOnDate = content.CreatedOnDate, LastModifiedByUserId = content.LastModifiedByUserId, LastModifiedOnDate = content.LastModifiedOnDate }; var versions = content.Versions; if (versions.Count == 0 || versions[0].Json.ToString() != content.Json) { versions.Insert(0, ver); if (versions.Count > OpenContentControllerFactory.Instance.OpenContentGlobalSettingsController.GetMaxVersions()) { versions.RemoveAt(versions.Count - 1); } content.Versions = versions; } using (IDataContext ctx = DataContext.Instance()) { var rep = ctx.GetRepository <OpenContentInfo>(); rep.Update(content); ModuleController.SynchronizeModule(content.ModuleId); } if (index) { content.HydrateDefaultFields(indexConfig); LuceneController.Instance.Update(content, indexConfig); LuceneController.Instance.Store.Commit(); } }
public HttpResponseMessage Update(JObject json) { try { int ModuleId = ActiveModule.ModuleID; OpenContentController ctrl = new OpenContentController(); var content = ctrl.GetFirstContent(ModuleId); if (content == null) { content = new OpenContentInfo() { ModuleId = ModuleId, Title = json["form"]["Title"] == null ? ActiveModule.ModuleTitle : json["form"]["Title"].ToString(), Json = json["form"].ToString(), CreatedByUserId = UserInfo.UserID, CreatedOnDate = DateTime.Now, LastModifiedByUserId = UserInfo.UserID, LastModifiedOnDate = DateTime.Now, Html = "", }; ctrl.AddContent(content); } else { content.Title = json["form"]["Title"] == null ? ActiveModule.ModuleTitle : json["form"]["Title"].ToString(); content.Json = json["form"].ToString(); content.LastModifiedByUserId = UserInfo.UserID; content.LastModifiedOnDate = DateTime.Now; ctrl.UpdateContent(content); } if (json["form"]["ModuleTitle"] != null && json["form"]["ModuleTitle"].Type == JTokenType.String) { string ModuleTitle = json["form"]["ModuleTitle"].ToString(); OpenContentUtils.UpdateModuleTitle(ActiveModule, ModuleTitle); } return Request.CreateResponse(HttpStatusCode.OK, ""); } catch (Exception exc) { Logger.Error(exc); return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, exc); } }
public string GetScope() { return(OpenContentInfo.GetScope(ModuleId, Collection)); }
public void UpdateContent(OpenContentInfo content) { UpdateContent(content, false, null); }
private void SaveData() { OpenContentController ctrl = new OpenContentController(); var data = ctrl.GetFirstContent(ModuleId); if (string.IsNullOrEmpty(txtSource.Text)) { if (data != null) { ctrl.DeleteContent(data); } } else { JObject json = JObject.Parse(txtSource.Text); if (data == null) { data = new OpenContentInfo() { ModuleId = ModuleId, Title = json["Title"] == null ? ModuleContext.Configuration.ModuleTitle : json["Title"].ToString(), CreatedByUserId = UserInfo.UserID, CreatedOnDate = DateTime.Now, LastModifiedByUserId = UserInfo.UserID, LastModifiedOnDate = DateTime.Now, Html = "", Json = txtSource.Text }; ctrl.AddContent(data); } else { data.Title = json["Title"] == null ? ModuleContext.Configuration.ModuleTitle : json["Title"].ToString(); data.LastModifiedByUserId = UserInfo.UserID; data.LastModifiedOnDate = DateTime.Now; data.Json = txtSource.Text; ctrl.UpdateContent(data); } if (json["ModuleTitle"] != null && json["ModuleTitle"].Type == JTokenType.String) { string ModuleTitle = json["ModuleTitle"].ToString(); OpenContentUtils.UpdateModuleTitle(ModuleContext.Configuration, ModuleTitle); } } }
public void AddContent(OpenContentInfo content) { AddContent(content, false, null); }