Example #1
0
        public ActionResult Details(string id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            UserAssignmentsViewModel uservm = new UserAssignmentsViewModel();
            ApplicationUser          user   = db.Users.Find(id);

            uservm.User             = user;
            TempData["CurrentUser"] = user;

            // Work on Project Assignments
            uservm.Projects         = projecthelper.ListProjectsForUser(id);
            uservm.SelectedProjects = uservm.Projects.Select(p => p.Id).ToArray();
            uservm.ProjectsList     = new MultiSelectList(db.Projects.OrderBy(p => p.Name), "Id", "Name", uservm.SelectedProjects);

            // Work on Role Assignments
            uservm.SelectedRoles = rolehelper.ListUserRoles(id).ToArray();
            uservm.RolesList     = new MultiSelectList(db.Roles.OrderBy(p => p.Name), "Name", "Name", uservm.SelectedRoles);

            if (uservm == null)
            {
                return(HttpNotFound());
            }

            return(View(uservm));
        }
Example #2
0
        public ActionResult Assignments()
        {
            //TODO: Zrobić lepiej [KD]
            var projects = _projectService.GetAllByUserId(User.Identity.GetUserId()).ToList();
            var assignmentsAssignedTo = new List <List <Assignment> >(projects.Count);
            var assignmentsOwnedBy    = new List <List <Assignment> >(projects.Count);

            for (int i = 0; i < projects.Count; i++)
            {
                assignmentsAssignedTo.Add(new List <Assignment>());
                assignmentsAssignedTo[i] = _assignmentService.GetAllByProjectId(projects[i].Id).Where(a => a.AssignedToId == User.Identity.GetUserId()).ToList();
            }
            for (int i = 0; i < projects.Count; i++)
            {
                assignmentsOwnedBy.Add(new List <Assignment>());
                assignmentsOwnedBy[i] = _assignmentService.GetAllByProjectId(projects[i].Id).Where(a => a.OwnerId == User.Identity.GetUserId()).ToList();
            }

            var model = new UserAssignmentsViewModel
            {
                Projects = projects,
                AssignmentsAssignedTo = assignmentsAssignedTo,
                AssignmentsOwnedBy    = assignmentsOwnedBy
            };

            return(View(model));
        }
Example #3
0
        public ActionResult Details([Bind(Include = "SelectedProjects,ProjectsList,SelectedRoles,RolesList")] UserAssignmentsViewModel model)   // Work on Both Assignments
        {
            if (ModelState.IsValid)
            {
                var user = (ApplicationUser)TempData["CurrentUser"];

                // Work on Project Assignments
                var userProjects = projecthelper.ListProjectsForUser(user.Id);

                //DELETE current Projects)
                foreach (var project in userProjects)
                {
                    projecthelper.RemoveUserFromProject(user.Id, project.Id);
                }

                //ADD the whole list of new Projects)
                if (model.SelectedProjects != null)
                {
                    foreach (var projectid in model.SelectedProjects)
                    {
                        int projectId = Convert.ToInt32(projectid);
                        projecthelper.AddUserToProject(user.Id, projectId);
                    }
                }

                // Work on Role Assignments
                // Only Admin Role can edit Role Assignments
                if (User.IsInRole("Admin"))
                {
                    var userRoles = rolehelper.ListUserRoles(user.Id);

                    //DELETE current Roles)
                    foreach (var roleName in userRoles)
                    {
                        rolehelper.RemoveUserFromRole(user.Id, roleName);
                    }

                    //ADD the whole list of new Roles)
                    if (model.SelectedRoles != null)
                    {
                        foreach (var roleName in model.SelectedRoles)
                        {
                            rolehelper.AddUserToRole(user.Id, roleName);
                        }
                    }
                }

                db.SaveChanges();
            }
            return(RedirectToAction("Index"));
        }
Example #4
0
        public ActionResult Index()
        {
            List <UserAssignmentsViewModel> userList = new List <UserAssignmentsViewModel>();

            foreach (var user in db.Users.OrderBy(p => p.DisplayName).ToList())
            {
                UserAssignmentsViewModel uservm = new UserAssignmentsViewModel();
                uservm.User = user;

                // Work on Project Assignments
                uservm.Projects = projecthelper.ListProjectsForUser(user.Id);

                // Work on Role Assignments
                uservm.SelectedRoles = rolehelper.UserAssignedRoles(user.Id).ToArray();

                userList.Add(uservm);
            }

            return(View(userList));
        }