private void SetCheckedState(IEnumerable<RoleFunctionDTO> sourceItems, FunctionItemDTO item) { item.IsChecked = sourceItems.Any(p => p.FunctionItemId == item.Id); item.SubFunctionItems.ToList().ForEach(p => SetCheckedState(Role.RoleFunctions, p)); }
private void GenerateFunctionItemStructure(FunctionItemDTO functionItem) { var temp = FunctionItems.Where(p => p.ParentItemId == functionItem.Id).ToList().OrderBy(p => p.Sort); functionItem.SubFunctionItems.Load(temp); foreach (var subItem in functionItem.SubFunctionItems) { GenerateFunctionItemStructure(subItem); } }
private static string GetModuleName(FunctionItemDTO moduleItem) { var item = moduleItem.Name; switch (item) { case "文档库": return ModuleNames.CommonService; case "基础管理": return ModuleNames.BaseManagement; case "管理门户": return ModuleNames.Portal; case "运力规划": return ModuleNames.FleetPlan; case "采购合同": return ModuleNames.Purchase; case "应付款": return ModuleNames.Payment; case "项目管理": return ModuleNames.Project; case "飞机构型": return ModuleNames.AircraftConfig; case "适航管理": return ModuleNames.Part; case "附件管理": return ModuleNames.Part; case "发动机管理": return ModuleNames.Part; default: throw new ArgumentException("没有匹配的模块名称!"); } }
private void ClearCheckedState(FunctionItemDTO item) { item.IsChecked = false; item.SubFunctionItems.ToList().ForEach(ClearCheckedState); }
private static void GenerateMenu(IEnumerable<FunctionItemDTO> functionItems, FunctionItemDTO functionItem, MenuItem menuItem) { var menu = new MenuItem {Text = functionItem.Name, NavUri = functionItem.NaviUrl}; menuItem.Items.Add(menu); var functionItemDtos = functionItems as IList<FunctionItemDTO> ?? functionItems.ToList(); var fis = functionItemDtos.Where(fi => fi.ParentItemId == functionItem.Id).ToList(); fis.ForEach(func => GenerateMenu(functionItemDtos, func, menu)); }