示例#1
0
        public IActionResult ChangeRights(ChangeRightsViewModel vm)
        {
            var uc = _projectUseCaseFactory.ChangeRights;

            var rightsList = vm.UserNames.Select((t, i) => new ProjectRights
            {
                UserName               = t,
                CanViewProject         = vm.CanView[i] == "y",
                CanChangeProjectRights = vm.CanChangeProjectRights[i] == "y",
                CanChangeRequirements  = vm.CanChangeRequirements[i] == "y",
                CanChangeUseCases      = vm.CanChangeUseCases[i] == "y",
                IsAdministrator        = vm.IsAdministrator[i] == "y",
            });

            var request = new ChangeRightsRequest(HttpContext.Session.GetString("UserId"))
            {
                ProjectId = vm.ProjectId,
                Rights    = rightsList,
            };

            var presenter = _projectPresenterFactory.ChangeRights(HttpContext.Session, TempData, ModelState);

            if (!uc.Execute(presenter, request))
            {
                return(View(vm));
            }

            return(RedirectToAction(nameof(Index), new { id = vm.ProjectId }));
        }
示例#2
0
        public IActionResult ChangeRole(RoleViewModel RoleviewModel)
        {
            base.CheckForLogin();

            if (!base.CheckForRight(5))
            {
                return(RedirectToAction("Index", "Home"));
            }

            RoleRepository  repoRole  = new RoleRepository(new RoleSQLContext());
            RightRepository repoRight = new RightRepository(new RightSQLContext());
            UserRepository  repoUser  = new UserRepository(new UserSQLContext());

            if (base.CheckForRight(5))
            {
                RoleviewModel.HasRight = true;
            }

            RoleviewModel.Roles = repoRole.GetRoles();
            RoleviewModel.Users = repoUser.GetUserList();

            int selectedUserId = RoleviewModel.SelectedUserId;
            int selectedRoleId = RoleviewModel.SelectedRoleId;

            RoleviewModel.SelectedUser = RoleviewModel.Users.Find(x => x.Id == selectedUserId);
            RoleviewModel.SelectedRole = RoleviewModel.Roles.Find(x => x.Id == selectedRoleId);

            //Don't change the application's default admin
            if (RoleviewModel.SelectedUser.Id != 5)
            {
                UserRepository userRepository = new UserRepository(new UserSQLContext());
                userRepository.UpdateUserRole(RoleviewModel.SelectedUser, RoleviewModel.SelectedRole);

                //Confirmation message apply / create other methods in other controllers (Tim)
                ConfirmChange(RoleviewModel);
            }
            else
            {
                ErrorRole();
            }

            ChangeRightsViewModel RightsviewModel = new ChangeRightsViewModel();

            if (base.CheckForRight(6))
            {
                RightsviewModel.HasRight = true;
            }
            RightsviewModel.Roles        = repoRole.GetRoles();
            RightsviewModel.Rights       = repoRight.GetRights();
            RightsviewModel.SelectedRole = RightsviewModel.Roles.Find(f => f.Id != 1);

            return(View("ChangeRoleAndRights", Tuple.Create(RoleviewModel, RightsviewModel)));
        }
示例#3
0
        public IActionResult ChangeSelectedRole(int selectedRoleId)
        {
            base.CheckForLogin();

            if (!base.CheckForRight(6))
            {
                return(RedirectToAction("Index", "Home"));
            }

            RoleRepository  repoRole  = new RoleRepository(new RoleSQLContext());
            RightRepository repoRight = new RightRepository(new RightSQLContext());
            UserRepository  repoUser  = new UserRepository(new UserSQLContext());

            RoleViewModel RoleviewModel = new RoleViewModel();

            if (base.CheckForRight(5))
            {
                RoleviewModel.HasRight = true;
            }
            RoleviewModel.Roles        = repoRole.GetRoles();
            RoleviewModel.Users        = repoUser.GetUserList();
            RoleviewModel.SelectedUser = RoleviewModel.Users.Find(u => u.Id == Convert.ToInt32(HttpContext.Session.GetInt32("id")));
            RoleviewModel.SelectedRole = RoleviewModel.SelectedUser.Role;

            List <Role> roleList = repoRole.GetRoles();

            ChangeRightsViewModel RightsviewModel = new ChangeRightsViewModel();

            if (base.CheckForRight(6))
            {
                RightsviewModel.HasRight = true;
            }
            RightsviewModel.Roles  = roleList;
            RightsviewModel.Rights = repoRight.GetRights();

            //Linq query
            var result = from role in roleList
                         where role.Id == selectedRoleId
                         select role;

            //Iterate through Linq query result
            foreach (var role in result)
            {
                RightsviewModel.SelectedRole = role;
            }

            return(View("ChangeRoleAndRights", Tuple.Create(RoleviewModel, RightsviewModel)));
        }
示例#4
0
        public IActionResult ChangeRoleAndRights()
        {
            base.CheckForLogin();

            if (!base.CheckForRight(5) && !base.CheckForRight(6))
            {
                return(RedirectToAction("Index", "Home"));
            }

            RoleRepository  repoRole  = new RoleRepository(new RoleSQLContext());
            RightRepository repoRight = new RightRepository(new RightSQLContext());
            UserRepository  repoUser  = new UserRepository(new UserSQLContext());

            RoleViewModel RoleviewModel = new RoleViewModel();

            if (base.CheckForRight(5))
            {
                RoleviewModel.HasRight = true;
            }
            RoleviewModel.Roles        = repoRole.GetRoles();
            RoleviewModel.Users        = repoUser.GetUserList();
            RoleviewModel.SelectedUser = HttpContext.Session.GetInt32("id") == 5 ? RoleviewModel.Users.Find(u => u.Id != 5) : RoleviewModel.Users.Find(u => u.Id == Convert.ToInt32(HttpContext.Session.GetInt32("id")));
            RoleviewModel.SelectedRole = RoleviewModel.SelectedUser.Role;

            ChangeRightsViewModel RightsviewModel = new ChangeRightsViewModel();

            if (base.CheckForRight(6))
            {
                RightsviewModel.HasRight = true;
            }
            RightsviewModel.Roles        = repoRole.GetRoles();
            RightsviewModel.Rights       = repoRight.GetRights();
            RightsviewModel.SelectedRole = RightsviewModel.Roles.Find(f => f.Id != 1);

            return(View("ChangeRoleAndRights", Tuple.Create(RoleviewModel, RightsviewModel)));
        }