Beispiel #1
0
        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);
        }
Beispiel #2
0
        public ActionResult UserToGroupSelectionChanged(AdminUserGroupModel augm)
        {
            AdminContrTransporter.SelectedItemId2 = augm.SelectedGroupId ?? 0;

            UserFitlerModel            = augm.Filter;

            return RedirectToAction("UserToGroupView", "Admin");
        }