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);
                }
            }
        }
Exemplo n.º 2
0
 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()
     });