public DecorationTemplateInfo GetDecorationTemplateData(int templateid) { try { dm_decoration_templateEntity dm_Decoration_TemplateEntity = this.BaseRepository("dm_data").FindEntity <dm_decoration_templateEntity>(templateid); if (dm_Decoration_TemplateEntity.IsEmpty()) { throw new Exception("模板不存在,请添加后再获取!"); } List <ModuleInfoEntity> moduleInfoEntities = new List <ModuleInfoEntity>(); ///获取模板中包含的模块 IEnumerable <dm_decoration_template_moduleEntity> dm_Decoration_Template_ModuleEntities = this.BaseRepository("dm_data").FindList <dm_decoration_template_moduleEntity>(t => t.template_id == templateid); ///获取所有的模块ID去查询模块的信息 IEnumerable <int?> module_id_list = dm_Decoration_Template_ModuleEntities.Select(t => t.module_id); ///模块列表 IEnumerable <dm_decoration_moduleEntity> dm_Decoration_ModuleEntities = this.BaseRepository("dm_data").FindList <dm_decoration_moduleEntity>(t => module_id_list.Contains(t.id)); ///模块子项列表 IEnumerable <dm_decoration_template_module_itemEntity> dm_Decoration_Template_Module_ItemEntities = this.BaseRepository("dm_data").FindList <dm_decoration_template_module_itemEntity>(t => t.template_id == templateid); ///获取所有功能项名称 IEnumerable <dm_decoration_fun_manageEntity> dm_decoration_fun_manageEntitys = this.BaseRepository("dm_data").FindList <dm_decoration_fun_manageEntity>(); foreach (dm_decoration_template_moduleEntity item in dm_Decoration_Template_ModuleEntities) { dm_decoration_moduleEntity dm_Decoration_ModuleEntity = dm_Decoration_ModuleEntities.Where(t => t.id == item.module_id).FirstOrDefault(); if (!dm_Decoration_ModuleEntity.IsEmpty()) { ModuleInfoEntity moduleInfoEntity = new ModuleInfoEntity { ModuleName = dm_Decoration_ModuleEntity.module_name, ModuleType = dm_Decoration_ModuleEntity.module_type, ModuleID = dm_Decoration_ModuleEntity.id }; List <ModuleItemInfoEntity> moduleItemInfoEntities = new List <ModuleItemInfoEntity>(); IEnumerable <dm_decoration_template_module_itemEntity> dm_Decoration_Template_Module_Items = dm_Decoration_Template_Module_ItemEntities.Where(t => t.template_module_id == item.id); foreach (dm_decoration_template_module_itemEntity dm_Decoration_Template_Module_ItemEntity in dm_Decoration_Template_Module_Items) { dm_decoration_fun_manageEntity dm_Decoration_Fun_ManageEntity = dm_decoration_fun_manageEntitys.Where(t => t.id == dm_Decoration_Template_Module_ItemEntity.module_fun_id).FirstOrDefault(); if (!dm_Decoration_Fun_ManageEntity.IsEmpty()) { ModuleItemInfoEntity moduleItemInfoEntity = new ModuleItemInfoEntity { id = dm_Decoration_Template_Module_ItemEntity.id, module_fun_id = dm_Decoration_Template_Module_ItemEntity.module_fun_id, module_fun_name = dm_Decoration_Fun_ManageEntity.fun_name, module_fun_type = dm_Decoration_Fun_ManageEntity.fun_type, module_fun_param = dm_Decoration_Fun_ManageEntity.fun_param, module_fun_category = dm_Decoration_Fun_ManageEntity.fun_category, module_fun_category_name = GetCategoryName(dm_Decoration_Fun_ManageEntity.fun_category), module_item_image = dm_Decoration_Template_Module_ItemEntity.module_item_image, module_item_name = dm_Decoration_Template_Module_ItemEntity.module_item_name, module_item_type = dm_Decoration_ModuleEntity.module_type, module_sort = dm_Decoration_Template_Module_ItemEntity.module_sort }; moduleItemInfoEntities.Add(moduleItemInfoEntity); } } moduleInfoEntity.ModuleItemInfoList = moduleItemInfoEntities; moduleInfoEntities.Add(moduleInfoEntity); } } DecorationTemplateInfo decorationTemplateInfo = new DecorationTemplateInfo { MainColor = dm_Decoration_TemplateEntity.main_color, SecondaryColor = dm_Decoration_TemplateEntity.secondary_color, ModuleInfoList = moduleInfoEntities }; return(decorationTemplateInfo); } catch (Exception ex) { if (ex is ExceptionEx) { throw; } else { throw ExceptionEx.ThrowServiceException(ex); } } }
private static int ValidateToUpgradeModule(IOperation operation, int?moduleId, ModuleInfoEntity module, ModuleConfigurationFile configuration) { return(GetVerdict(operation, module.Version, configuration.Version) switch { ModuleConfigurationVerdict.Upgrade => moduleId ?? throw CommonExceptions.FailedToDefineModuleForUpgrade(operation), ModuleConfigurationVerdict.Installed => throw CommonExceptions.FailedToSubmitModuleConfiguration(operation, ModuleConfigurationVerdict.Installed), ModuleConfigurationVerdict.Downgrade => throw CommonExceptions.FailedToSubmitModuleConfiguration(operation, ModuleConfigurationVerdict.Downgrade), ModuleConfigurationVerdict.Updating => throw new ArgumentOutOfRangeException(), ModuleConfigurationVerdict.BrokenChanges => throw new ArgumentOutOfRangeException(), ModuleConfigurationVerdict.NewModule => throw new ArgumentOutOfRangeException(), _ => throw new ArgumentOutOfRangeException() });