Beispiel #1
0
        public ActionResult AssignUsers(AssignUsersModel model)
        {
            model.AllUsers = new MultiSelectList(UserService.All(), "SID", "DisplayName");

            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            if (model.AssignedUsers == null)
            {
                model.AssignedUsers = new string[0];

                Project foundProject = ProjectService.Get(model.ProjectId);
                foreach (User user in foundProject.AssignedUsers.ToList())
                {
                    ProjectService.RemoveUser(foundProject.Id, user.SID);
                }

                return(RedirectToAction("View", "Project", new { @id = model.ProjectId }));
            }

            var usersToRemove = model.AllUsers.Select(x => x.Value).Intersect(model.AssignedUsers);

            foreach (string userId in model.AssignedUsers)
            {
                ProjectService.AssignUser(model.ProjectId, userId);
            }

            return(RedirectToAction("View", "Project", new { @id = model.ProjectId }));
        }
Beispiel #2
0
        public ActionResult AssignUsers(Guid id)
        {
            if (id == Guid.Empty)
            {
                return(RedirectToAction("Index", "Project"));
            }

            Project foundProject = ProjectService.Get(id);

            if (foundProject == null)
            {
                return(RedirectToAction("Index", "Project"));
            }

            AssignUsersModel viewModel = new AssignUsersModel();

            viewModel.ProjectId     = foundProject.Id;
            viewModel.AllUsers      = new MultiSelectList(UserService.All(), "SID", "DisplayName");
            viewModel.AssignedUsers = foundProject.AssignedUsers.Select(x => x.SID).ToArray();

            return(View(viewModel));
        }