public static int SaveDesktopModule(DesktopModuleInfo desktopModule, bool saveChildren, bool clearCache) { int desktopModuleID = desktopModule.DesktopModuleID; Services.Log.EventLog.EventLogController objEventLog = new Services.Log.EventLog.EventLogController(); if (desktopModuleID == Null.NullInteger) { desktopModuleID = dataProvider.AddDesktopModule(desktopModule.PackageID, desktopModule.ModuleName, desktopModule.FolderName, desktopModule.FriendlyName, desktopModule.Description, desktopModule.Version, desktopModule.IsPremium, desktopModule.IsAdmin, desktopModule.BusinessControllerClass, desktopModule.SupportedFeatures, desktopModule.CompatibleVersions, desktopModule.Dependencies, desktopModule.Permissions, UserController.GetCurrentUserInfo().UserID); objEventLog.AddLog(desktopModule, PortalController.GetCurrentPortalSettings(), UserController.GetCurrentUserInfo().UserID, "", CommonLibrary.Services.Log.EventLog.EventLogController.EventLogType.DESKTOPMODULE_CREATED); } else { dataProvider.UpdateDesktopModule(desktopModule.DesktopModuleID, desktopModule.PackageID, desktopModule.ModuleName, desktopModule.FolderName, desktopModule.FriendlyName, desktopModule.Description, desktopModule.Version, desktopModule.IsPremium, desktopModule.IsAdmin, desktopModule.BusinessControllerClass, desktopModule.SupportedFeatures, desktopModule.CompatibleVersions, desktopModule.Dependencies, desktopModule.Permissions, UserController.GetCurrentUserInfo().UserID); objEventLog.AddLog(desktopModule, PortalController.GetCurrentPortalSettings(), UserController.GetCurrentUserInfo().UserID, "", CommonLibrary.Services.Log.EventLog.EventLogController.EventLogType.DESKTOPMODULE_UPDATED); } if (saveChildren) { foreach (ModuleDefinitionInfo definition in desktopModule.ModuleDefinitions.Values) { definition.DesktopModuleID = desktopModuleID; ModuleDefinitionInfo moduleDefinition = ModuleDefinitionController.GetModuleDefinitionByFriendlyName(definition.FriendlyName, desktopModuleID); if (moduleDefinition != null) { definition.ModuleDefID = moduleDefinition.ModuleDefID; } ModuleDefinitionController.SaveModuleDefinition(definition, saveChildren, clearCache); } } if (clearCache) { DataCache.ClearHostCache(true); } return(desktopModuleID); }
internal static int SaveDesktopModule(DesktopModuleInfo desktopModule, bool saveChildren, bool clearCache, bool saveTerms) { var desktopModuleID = desktopModule.DesktopModuleID; if (desktopModuleID == Null.NullInteger) { CreateContentItem(desktopModule); desktopModuleID = DataProvider.AddDesktopModule(desktopModule.PackageID, desktopModule.ModuleName, desktopModule.FolderName, desktopModule.FriendlyName, desktopModule.Description, desktopModule.Version, desktopModule.IsPremium, desktopModule.IsAdmin, desktopModule.BusinessControllerClass, desktopModule.SupportedFeatures, (int)desktopModule.Shareable, desktopModule.CompatibleVersions, desktopModule.Dependencies, desktopModule.Permissions, desktopModule.ContentItemId, UserController.Instance.GetCurrentUserInfo().UserID, desktopModule.AdminPage, desktopModule.HostPage); EventLogController.Instance.AddLog(desktopModule, PortalController.Instance.GetCurrentPortalSettings(), UserController.Instance.GetCurrentUserInfo().UserID, "", EventLogController.EventLogType.DESKTOPMODULE_CREATED); } else { //Update ContentItem If neccessary if (desktopModule.ContentItemId == Null.NullInteger) { CreateContentItem(desktopModule); } DataProvider.UpdateDesktopModule(desktopModule.DesktopModuleID, desktopModule.PackageID, desktopModule.ModuleName, desktopModule.FolderName, desktopModule.FriendlyName, desktopModule.Description, desktopModule.Version, desktopModule.IsPremium, desktopModule.IsAdmin, desktopModule.BusinessControllerClass, desktopModule.SupportedFeatures, (int)desktopModule.Shareable, desktopModule.CompatibleVersions, desktopModule.Dependencies, desktopModule.Permissions, desktopModule.ContentItemId, UserController.Instance.GetCurrentUserInfo().UserID, desktopModule.AdminPage, desktopModule.HostPage); //Update Tags if (saveTerms) { var termController = Util.GetTermController(); termController.RemoveTermsFromContent(desktopModule); foreach (var term in desktopModule.Terms) { termController.AddTermToContent(term, desktopModule); } } EventLogController.Instance.AddLog(desktopModule, PortalController.Instance.GetCurrentPortalSettings(), UserController.Instance.GetCurrentUserInfo().UserID, "", EventLogController.EventLogType.DESKTOPMODULE_UPDATED); } if (saveChildren) { foreach (var definition in desktopModule.ModuleDefinitions.Values) { definition.DesktopModuleID = desktopModuleID; var moduleDefinition = ModuleDefinitionController.GetModuleDefinitionByDefinitionName(definition.DefinitionName, desktopModuleID); if (moduleDefinition != null) { definition.ModuleDefID = moduleDefinition.ModuleDefID; } ModuleDefinitionController.SaveModuleDefinition(definition, true, clearCache); } } if (clearCache) { DataCache.ClearHostCache(true); } return(desktopModuleID); }