示例#1
0
        private void SwitchUsersCurrentGamingGroupIfNecessary(GamingGroupEditRequest request)
        {
            if (request.Active)
            {
                return;
            }
            var users = _dataContext.GetQueryable <ApplicationUser>()
                        .Where(x => x.CurrentGamingGroupId == request.GamingGroupId)
                        .ToList();

            foreach (var user in users)
            {
                _gamingGroupContextSwitcher.EnsureContextIsValid(user);
            }
        }
        public virtual ActionResult UserGamingGroups(ApplicationUser currentUser)
        {
            var gamingGroups       = _gamingGroupRetriever.GetGamingGroupsForUser(currentUser.Id);
            var currentGamingGroup = gamingGroups.FirstOrDefault(gg => gg.Id == currentUser.CurrentGamingGroupId);

            if ((currentUser.CurrentGamingGroupId.HasValue && currentGamingGroup == null) ||
                (currentUser.CurrentGamingGroupId == null && gamingGroups.Count > 0))
            {
                _gamingGroupContextSwitcher.EnsureContextIsValid(currentUser);
                currentGamingGroup = gamingGroups.FirstOrDefault(gg => gg.Id == currentUser.CurrentGamingGroupId);
            }

            var model = new UserGamingGroupsModel
            {
                GamingGroups       = gamingGroups,
                CurrentGamingGroup = currentGamingGroup,
                CurrentUser        = currentUser
            };

            return(PartialView(MVC.Account.Views._UserGamingGroupsPartial, model));
        }