public ActionResult UserToGroupView() { if (!RightManager.Instance.HasUserRight(RightEnum.ADMINISTRATION___GROUP_USER)) throw new Exception("Uživatel nemá právo pro přístup ke stránce administrace skupina-uživatel"); LinkCssFile("ItemToGroupView.css"); LinkJavaScriptFile("MatrixTable.js"); var model = new AdminUserGroupModel() { GroupList = Locator.GetDbGroupManager().GetGroupList().Select(ModelConvertor.ConvertToGroupModel).OrderBy(g => g.GroupName).ToList(), UserList = Locator.GetDbUserManager().GetUserList(UserFitlerModel.GetUserFilter()).Select(ModelConvertor.ConvertToUserModel).OrderBy(u => u.LName).ToList(), SelectedGroupId = AdminContrTransporter.SelectedItemId2, InfoMessage = AdminContrTransporter.InfoMessage, Filter = UserFitlerModel, User2GroupList = new List<User2Group>() }; // we need this db collection. because it contains list of users for each group var dbGroupList = Locator.GetDbGroupManager() .GetGroupListIncludeUsers(AdminContrTransporter.SelectedItemId2) .OrderBy(g => g.GroupName) .ToList(); // lets prepare data for check box matrix foreach (var u in model.UserList) { var u2G = new User2Group(); AutoMapper.Mapper.CreateMap<UserModel, User2Group>(); AutoMapper.Mapper.Map(u, u2G); u2G.Groups = new List<AssignedGroup>(); foreach (var g in dbGroupList) { u2G.Groups.Add(new AssignedGroup() { GroupId = g.Id, IsInGroup = g.USER.FirstOrDefault(gl => gl.Id == u.Id) != null, UniqueId = string.Format("@MyItem_{0}_{1}", g.Id, u.Id), GroupName = g.GroupName, GroupUserTooltip = string.Format("{0} - {1} {2}", g.GroupName, u.LName, u.FName) }); } model.User2GroupList.Add(u2G); } // just try select proper group if (model.GroupList.Count > 0 && AdminContrTransporter.SelectedItemId2 != 0) model.ConcreteGroup = model.GroupList.First(u => u.Id == AdminContrTransporter.SelectedItemId2); return View(model); }
public ActionResult UserToGroupSelectionChanged(AdminUserGroupModel augm) { AdminContrTransporter.SelectedItemId2 = augm.SelectedGroupId ?? 0; UserFitlerModel = augm.Filter; return RedirectToAction("UserToGroupView", "Admin"); }