public List<ModuleDefinition> GetModules(bool publicViewRequired) { var registryData = new ModuleRegistryData(); if(publicViewRequired) return registryData.Modules.Where(m => m.Value.Views.Any(v => v.ViewType == ViewType.Public)).Select(m => m.Value).ToList(); else return registryData.Modules.Select(m => m.Value).ToList(); }
public ModuleInstance GetModuleInstance(Guid instanceId) { var registryData = new ModuleRegistryData(instanceId); if (registryData.ModuleInstances.ContainsKey(instanceId)) return registryData.ModuleInstances[instanceId]; else return null; }
public List<ModuleInstance> GetModuleInstances() { var registryData = new ModuleRegistryData(); if (registryData.ModuleInstances.Count > 0) return registryData.ModuleInstances.Select(i => i.Value).ToList(); else return new List<ModuleInstance>(); }
public ModuleDefinition GetModule(string name) { var registryData = new ModuleRegistryData(); if (registryData.Modules.ContainsKey(name)) return registryData.Modules[name]; else return null; }
public void UpdateModuleInstance(ModuleInstance instance) { var registryData = new ModuleRegistryData(); var module = GetModule(instance.ModuleName); if (instance.Action == RecordActions.Added && registryData.ModuleInstances.ContainsKey(instance.Id)) instance.Action = RecordActions.Edited; if (instance.Action == RecordActions.Edited && !registryData.ModuleInstances.ContainsKey(instance.Id)) instance.Action = RecordActions.Added; // Create view model for added/updated instance var clonedModule = module.Clone(false, false); clonedModule.Instances.Add(instance); var viewModel = new ModuleRegistryViewModel(); viewModel.Modules = new List<ModuleDefinition>() { clonedModule }; var data = JsonConvert.SerializeObject(viewModel); // Post view model to data provider ServiceContext.DataProviderFactory.CreateDataProvider(module.CmsType).PostModuleRegistryData(data); }