Example #1
0
        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));
        }
Example #2
0
        /// <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);
        }