public async Task <IActionResult> LinkGroup(string linkGroup) { var thisLinkGroup = await _context.ResourceGroup.Where(o => o.Url.ToLower() == linkGroup.ToLower()).FirstOrDefaultAsync(); //get Resource <> Resource Group mappings for this link group var resourcesResourceGroupMappings = await _context.ResourceResourceGroup .Include(o => o.Resource) .Where(o => o.ResourceGroupId == thisLinkGroup.Id) .ToListAsync(); var resources = new List <Resource>(); foreach (var rrg in resourcesResourceGroupMappings) { resources.Add(rrg.Resource); } var vm = new LinkGroupViewModel() { ResourceGroup = thisLinkGroup, Resources = resources }; return(View(vm)); }
/// <summary> /// 初始化菜单导航 /// </summary> private void InitializeMenuLink() { MainViewModuleViewModel mvmvm = this.DataContext as MainViewModuleViewModel; if (mvmvm.LinkGroupViewModels == null) { mvmvm.LinkGroupViewModels = new System.Collections.ObjectModel.ObservableCollection <LinkGroupViewModel>(); } else { mvmvm.LinkGroupViewModels.Clear(); } List <IModule> extModules = this.Module.ModuleFramework.GetExtModules(); foreach (IModule extModule in extModules) { if (extModule.Links.Count > 0) { LinkGroupViewModel lgvm = new LinkGroupViewModel(); lgvm.DisplayName = extModule.AppName; lgvm.ModuleName = extModule.ModuleName; foreach (Link link in extModule.Links) { LinkViewModel lvm = new LinkViewModel(); lvm.ModuleName = extModule.ModuleName; lvm.AppName = link.AppName; lvm.ViewPageLocation = link.ViewPageLocation; lgvm.LinkViewModels.Add(lvm); } mvmvm.LinkGroupViewModels.Add(lgvm); } } //如果存在数据的话,选择第一条为默认显示 if (mvmvm.LinkGroupViewModels.Count > 0) { LinkGroupViewModel defaultLinkGroup = mvmvm.LinkGroupViewModels[0]; if (defaultLinkGroup.LinkViewModels.Count > 0) { LinkViewModel defaultLink = defaultLinkGroup.LinkViewModels[0]; this._viewPageBox.DisplayLink = this._viewPageBox.DisplayLink = new Link(defaultLink.ModuleName, defaultLink.AppName, defaultLink.ViewPageLocation); } } }
public ActionResult SearchGroupsToAuthorize(string folderId, string groupName, string userName, int? membersCount) { if (folderId == null) return new HttpStatusCodeResult(HttpStatusCode.BadRequest); Folder folder = FileSyncDal.Instance.GetFolder(User.Identity, folderId); if (folder == null) return HttpNotFound(); var searchParams = new FileSync.Models.GroupSearchParams(groupName, userName, membersCount); var groups = FileSyncDal.Instance.GetGroupsBySearch(searchParams); var model = new LinkGroupViewModel() { CallbackAction = "AuthorizeGroupToFolder", CallbackController = "ManageFolders", Groups = groups.Where(g => !folder.AuthorizedGroups.Any(fg => fg.Id == g.Id)),// groups that are not already authorized to this folder ParentId = folderId }; ViewBag.PageIcon = "lock"; ViewBag.PageIconDescription = "Authorize Groups to Folder"; ViewBag.Title = "Link Groups"; ViewBag.ReturnUrl = "ManageFolders/ManageAuthorizations/" + folderId; return View("../Links/LinkGroupsView", model); }