public ActionResult ManageProjectAssignments(List <string> userIds, List <int> projectIds, bool addUser)
 {
     if (userIds != null || projectIds != null)
     {
         if (addUser)
         {
             foreach (var userId in userIds)
             {
                 foreach (var projectId in projectIds)
                 {
                     projHelper.RemoveUserFromProject(userId, projectId);
                 }
             }
             foreach (var userId in userIds)
             {
                 foreach (var projectId in projectIds)
                 {
                     projHelper.AddUserToProject(userId, projectId);
                 }
             }
         }
         else
         {
             foreach (var userId in userIds)
             {
                 foreach (var projectId in projectIds)
                 {
                     projHelper.RemoveUserFromProject(userId, projectId);
                 }
             }
         }
     }
     return(RedirectToAction("ManageProjectAssignments"));
 }
示例#2
0
        public ActionResult UserIndex(string userId, string CurrentRole, List <int> CurrentProjects)
        {
            // Remove user from whatever role they currently occupy
            foreach (var role in roleHelper.ListUserRoles(userId))
            {
                roleHelper.RemoveUserFromRole(userId, role);
            }

            if (!string.IsNullOrEmpty(CurrentRole))
            {
                // Then add them back to the selected role
                roleHelper.AddUserToRole(userId, CurrentRole);
            }

            if (CurrentProjects != null)
            {
                // Remove user from whatever projects they currently occupy
                foreach (var project in projectHelper.ListUserProjects(userId))
                {
                    projectHelper.RemoveUserFromProject(userId, project.Id);
                }
                // Then add them back to the selected role
                foreach (var project in CurrentProjects)
                {
                    projectHelper.AddUserToProject(userId, project);
                }
            }
            return(RedirectToAction("UserIndex"));
        }
示例#3
0
        public ActionResult ManageUsers(int projectId, string projectManagerId, List <string> developers, List <string> submitters)
        {
            foreach (var user in projHelper.UsersOnProject(projectId).ToList())
            {
                projHelper.RemoveUserFromProject(user.Id, projectId);
            }

            //In order to ensure that I always have the correct and current set of assign users
            //I will first remove all users from the project and then I will add back the selected users
            if (!string.IsNullOrEmpty(projectManagerId))
            {
                projHelper.AddUserToProject(projectManagerId, projectId);
            }

            if (developers != null)
            {
                foreach (var developerId in developers)
                {
                    projHelper.AddUserToProject(developerId, projectId);
                }
            }

            if (submitters != null)
            {
                foreach (var submitterId in submitters)
                {
                    projHelper.AddUserToProject(submitterId, projectId);
                }
            }
            return(RedirectToAction("ManageUsers", new { id = projectId }));
        }
        public ActionResult ManageUsers(int projectId, string projectManagerId, List <string> developers, List <string> submitters)
        {
            foreach (var user in projectHelper.UsersOnProject(projectId).ToList())
            {
                projectHelper.RemoveUserFromProject(user.Id, projectId);
            }

            if (!string.IsNullOrEmpty(projectManagerId))
            {
                projectHelper.AddUserToProject(projectManagerId, projectId);
            }

            if (developers != null)
            {
                foreach (var developerId in developers)
                {
                    projectHelper.AddUserToProject(developerId, projectId);
                }
            }

            if (submitters != null)
            {
                foreach (var submitterId in submitters)
                {
                    projectHelper.AddUserToProject(submitterId, projectId);
                }
            }

            return(RedirectToAction("ManageUsers", new { id = projectId }));
        }
示例#5
0
        public ActionResult UserIndex(string userId, string CurrentRole, List <int> CurrentProjects)
        {
            foreach (var role in roleHelper.ListUserRoles(userId))
            {
                roleHelper.RemoveUserFromRole(userId, role);
            }

            if (!string.IsNullOrEmpty(CurrentRole))
            {
                roleHelper.AddUserToRole(userId, CurrentRole);
            }

            foreach (var proj in projectHelper.ListUserProjects(userId))
            {
                projectHelper.RemoveUserFromProject(userId, proj.Id);
            }

            if (CurrentProjects != null)

            {
                foreach (var projectId in CurrentProjects)
                {
                    projectHelper.AddUserToProject(userId, projectId);
                }
            }



            ////return RedirectToAction("EditProfile","Members", new { userId = userId });
            return(RedirectToAction("Manage", "Members", new { userId = userId }));
        }
示例#6
0
        public ActionResult ManageUserProjects(List <int> projects, string userId)
        {
            //First let's remove the user from all projects
            foreach (var project in projectHelper.ListUserProjects(userId).ToList())
            {
                projectHelper.RemoveUserFromProject(userId, project.Id);
                foreach (var ticket in project.Tickets)
                {
                    if (ticket.AssignedToUserId == userId)
                    {
                        ticket.AssignedToUserId = null;
                        ticket.TicketStatusId   = db.TicketStatuses.FirstOrDefault(s => s.Name == "New/Unassigned")?.Id ?? 1;
                    }
                }
            }

            //Then if the incoming list is not null we will reassign them.
            if (projects != null)
            {
                foreach (var projectId in projects)
                {
                    projectHelper.AddUserToProject(userId, projectId);
                }
            }

            return(RedirectToAction("Index", "Projects"));
        }
示例#7
0
        public ActionResult ManageProjectUsers(List <int> projects, string projectManagerId, List <string> developers, List <string> submitters, string demoProjectManagerId, List <string> demoDevelopers, List <string> demoSubmitters)
        {
            // remove users from selected projects
            if (projects != null && !userRolesHelper.IsDemoUser(User.Identity.GetUserId()))
            {
                foreach (var projectId in projects)
                {
                    // remove from this project
                    foreach (var user in projectsHelper.UsersOnProject(projectId).ToList())
                    {
                        projectsHelper.RemoveUserFromProject(user.Id, projectId);
                    }

                    // add a PM back to projects if possible
                    if (!string.IsNullOrEmpty(projectManagerId))
                    {
                        projectsHelper.AddPMToProject(projectManagerId, projectId);
                    }
                    if (developers != null)
                    {
                        foreach (var developerId in developers)
                        {
                            projectsHelper.AddUserToProject(developerId, projectId);
                        }
                    }
                    if (submitters != null)
                    {
                        foreach (var submitterId in submitters)
                        {
                            projectsHelper.AddUserToProject(submitterId, projectId);
                        }
                    }

                    // demo users
                    if (!string.IsNullOrEmpty(demoProjectManagerId))
                    {
                        projectsHelper.AddUserToProject(demoProjectManagerId, projectId);
                    }
                    if (demoDevelopers != null)
                    {
                        foreach (var demoDeveloperId in demoDevelopers)
                        {
                            projectsHelper.AddUserToProject(demoDeveloperId, projectId);
                        }
                    }
                    if (demoSubmitters != null)
                    {
                        foreach (var demoSubmitterId in demoSubmitters)
                        {
                            projectsHelper.AddUserToProject(demoSubmitterId, projectId);
                        }
                    }
                }
            }

            return(RedirectToAction("ManageProjectUsers"));
        }
示例#8
0
        public ActionResult AssignUsers(int projectId, string projectManagerId, List <string> submitterIds, List <string> developerIds)
        {
            if (User.IsInRole("Admin"))
            {
                //Dealing with Project Managers
                //Remove the current PM and then add the selected PM
                var project = db.Projects.Find(projectId);
                project.ProjectManagerId = projectManagerId;
                db.SaveChanges();
            }
            else
            {
                #region Handle Submitters Project association

                //Remove all Submitters on the Project
                foreach (var user in assignHelper.UsersOnProjectInRole(projectId, "Submitter"))
                {
                    projHelper.RemoveUserFromProject(user.Id, projectId);
                }

                //Add back all the selected Submitters
                if (submitterIds != null)
                {
                    foreach (var submitterid in submitterIds)
                    {
                        projHelper.AddUserToProject(submitterid, projectId);
                    }
                }
                #endregion

                #region Handle Developer Project association
                //Add back all the selected Developers

                foreach (var user in assignHelper.UsersOnProjectInRole(projectId, "Developer"))
                {
                    projHelper.RemoveUserFromProject(user.Id, projectId);
                }

                //Add back all the selected Submitters
                if (developerIds != null)
                {
                    foreach (var developerId in developerIds)
                    {
                        projHelper.AddUserToProject(developerId, projectId);
                    }
                }

                #endregion
            }

            return(RedirectToAction("Index", "Home"));
        }
 public ActionResult ManageProjectAssignments(string userId, int projectId, bool addUser)
 {
     if (userId != null && projectId > 0)
     {
         if (addUser)
         {
             projectsHelper.AddUserToProject(userId, projectId);
         }
         else
         {
             projectsHelper.RemoveUserFromProject(userId, projectId);
         }
     }
     return(RedirectToAction("ManageProjectAssignments"));
 }
示例#10
0
        public ActionResult Create([Bind(Include = "Id,Name,Description,Created,Updated")] Project project)
        {
            if (ModelState.IsValid)
            {
                project.Created = DateTime.Now;
                db.Projects.Add(project);
                db.SaveChanges();

                projectHelper.AddUserToProject(User.Identity.GetUserId(), project.Id);

                return(RedirectToAction("Index"));
            }

            return(View(project));
        }
示例#11
0
 public ActionResult ManageUserProjects(List <int> projects, string userId)
 {
     foreach (var project in projectHelper.ListUserProjects(userId).ToList())
     {
         projectHelper.RemoveUserFromProject(userId, project.Id);
     }
     if (projects != null)
     {
         foreach (var projectId in projects)
         {
             projectHelper.AddUserToProject(userId, projectId);
         }
     }
     return(RedirectToAction("UserIndex"));
 }
示例#12
0
        public ActionResult Create([Bind(Include = "Id,Title,Description,Created,Updated,ProjectId,TicketStatusId,TicketPriorityId,TicketTypeId,OwnerUserId,AssignedToUserId")] Ticket ticket)
        {
            if (ModelState.IsValid)
            {
                //add user to project when they create a ticket
                ProjectsHelper phelper = new ProjectsHelper();
                if (!phelper.IsUserOnProject(User.Identity.GetUserId(), ticket.ProjectId))
                {
                    phelper.AddUserToProject(User.Identity.GetUserId(), ticket.ProjectId);
                }

                ticket.OwnerUserId      = User.Identity.GetUserId();
                ticket.TicketPriorityId = db.TicketPrioritys.FirstOrDefault(n => n.Name == "Low").Id;
                //Give ticket initial status of "new"
                ticket.TicketStatusId = 2;
                ticket.Created        = DateTimeOffset.Now;
                db.Tickets.Add(ticket);
                db.SaveChanges();
                return(RedirectToAction("Details", "Projects", new { id = ticket.ProjectId }));
            }
            //Identity framework chooses the name of the database, which is "Users", but the actual class name is "ApplicationUser"
            ViewBag.AssignedToUserId = new SelectList(db.Users, "Id", "FirstName", ticket.AssignedToUserId);
            ViewBag.OwnerUserId      = new SelectList(db.Users, "Id", "FirstName", ticket.OwnerUserId);
            ViewBag.ProjectId        = new SelectList(db.Projects, "Id", "Name", ticket.ProjectId);
            ViewBag.TicketPriorityId = new SelectList(db.TicketPrioritys, "Id", "Name", ticket.TicketPriorityId);
            ViewBag.TicketStatusId   = new SelectList(db.TicketStatus, "Id", "Name", ticket.TicketStatusId);
            ViewBag.TicketTypeId     = new SelectList(db.TicketTypes, "Id", "Name", ticket.TicketTypeId);
            return(View(ticket));
        }
        public async Task <ActionResult> Edit([Bind(Include = "Id,Description,TicketTypeId,TicketPriorityId,TicketStatusId,AssignedToUserId")] Ticket ticket, string developer)
        {
            var allDevelopers = rolesHelper.UsersInRole("Developer");

            if (ModelState.IsValid)
            {
                var oldTicket = db.Tickets.AsNoTracking().FirstOrDefault(t => t.Id == ticket.Id);
                var newTicket = db.Tickets.Find(ticket.Id);
                newTicket.AssignedToUserId = developer;
                newTicket.TicketTypeId     = ticket.TicketTypeId;
                newTicket.TicketPriorityId = ticket.TicketPriorityId;
                newTicket.TicketStatusId   = ticket.TicketStatusId;
                newTicket.Description      = ticket.Description;
                newTicket.Updated          = DateTime.Now;
                db.SaveChanges();
                projectHelper.AddUserToProject(newTicket.AssignedToUserId, newTicket.ProjectId);
                ticketHelper.CreateChangeNotification(oldTicket, newTicket);
                ticketHelper.CreateHistoryRecord(oldTicket, newTicket);
                await ticketHelper.CreateAssignmentNotification(oldTicket, newTicket);

                return(RedirectToAction("Details", "Tickets", new { Id = ticket.Id }));
            }
            ViewBag.Developers       = new SelectList(allDevelopers, "Id", "FullName", ticket.AssignedToUserId);
            ViewBag.TicketPriorityId = new SelectList(db.TicketPriorities, "Id", "Name", ticket.TicketPriorityId);
            ViewBag.TicketStatusId   = new SelectList(db.TicketStatuses, "Id", "Name", ticket.TicketStatusId);
            ViewBag.TicketTypeId     = new SelectList(db.TicketTypes, "Id", "Name", ticket.TicketTypeId);
            return(View(ticket));
        }
示例#14
0
        public ActionResult ManageProjects(string userId, int Userproject)
        {
            foreach (var project in projectHelper.ListUserProjects(userId))
            {
                projectHelper.RemoveUserFromProject(userId, project.Id);
            }

            if (Userproject > 0)
            {
                projectHelper.AddUserToProject(userId, Userproject);
            }



            return(RedirectToAction("UserIndex"));
        }
        public ActionResult ManageProjectAssignments(List <string> developerSelectList, List <string> submitterSelectList, List <int> projectSelectList)
        {
            //Check to see if at least one user and one project have been selected
            if ((developerSelectList == null && submitterSelectList == null) || projectSelectList == null)
            {
                TempData["Alert"] = "Please select at least one user and project";
                return(RedirectToAction("ManageProjectAssignments"));
            }

            //Container variable to combine the two selectlists of users
            var userIds = new List <string>();

            //Check to see if developers were selected. If so, add to container variable.
            if (developerSelectList != null)
            {
                userIds.AddRange(developerSelectList);
            }
            //Check to see if submitters were selected. If so, add to container variable.
            if (submitterSelectList != null)
            {
                userIds.AddRange(submitterSelectList);
            }

            //Go through each users selected and add them to each project selected
            foreach (var userId in userIds)
            {
                foreach (var projectId in projectSelectList)
                {
                    projHelper.AddUserToProject(userId, projectId);
                }
            }

            return(RedirectToAction("ManageProjectAssignments"));
        }
示例#16
0
        public ActionResult Edit([Bind(Include = "Id,Name,Description")] Project project, List <string> projectManagers, List <string> projectDevelopers, List <string> projectSubmitters)
        {
            //var pUsers = projectManagers.Union(projectDevelopers);
            //var addProjectUsersIds = pUsers.Union(projectSubmitters);

            var oldProjectUsers = projectsHelper.UsersOnProject(project.Id).ToList();

            //var projectUsers = project.ProjectUsers.ToList();

            if (ModelState.IsValid)
            {
                foreach (var user in oldProjectUsers)
                {
                    projectsHelper.RemoveUserFromProject(user.Id, project.Id);
                }

                if (projectManagers != null && projectManagers.Count > 0)
                {
                    foreach (var userId in projectManagers)
                    {
                        projectsHelper.AddUserToProject(userId, project.Id);
                    }
                }

                if (projectDevelopers != null && projectDevelopers.Count > 0)
                {
                    foreach (var userId in projectDevelopers)
                    {
                        projectsHelper.AddUserToProject(userId, project.Id);
                    }
                }

                if (projectSubmitters != null && projectSubmitters.Count > 0)
                {
                    foreach (var userId in projectSubmitters)
                    {
                        projectsHelper.AddUserToProject(userId, project.Id);
                    }
                }


                db.Entry(project).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View(project));
        }
        public ActionResult ManageProjectAssignments(List <string> userIds, List <int> projectIds)
        {
            //if and only if I have chosen at least one person will I do the dollowing operations
            if (userIds == null || projectIds == null)
            {
                return(RedirectToAction("ManageProjectAssignments"));
            }

            // I can simply add each ot the selected users to each of the selected projects
            foreach (var userId in userIds)
            {
                foreach (var projectId in projectIds)
                {
                    projHelper.AddUserToProject(userId, projectId);
                }
            }
            return(RedirectToAction("ManageProjectAssignments"));
        }
        public ActionResult ManageUserProjects(List <int> projects, string userId)
        {
            //First lets remove the user from all projects
            foreach (var project in projectHelper.ListUserProjects(userId).ToList())
            {
                projectHelper.RemoveUserFromProject(userId, project.Id);
            }

            //Then if the incoming list is not null we will reassign them to all that are selected
            if (projects != null)
            {
                foreach (var projectId in projects)
                {
                    projectHelper.AddUserToProject(userId, projectId);
                }
            }

            return(RedirectToAction("UserIndex"));
        }
        public ActionResult ManageProjectLevelUsers(List <string> userIds, int projectId)
        {
            var projMemberIds = projHelper.UsersOnProject(projectId).Select(u => u.Id).ToList();

            foreach (var memberId in projMemberIds)
            {
                projHelper.RemoveUserFromProject(memberId, projectId);
            }

            if (userIds != null)
            {
                foreach (var userId in userIds)
                {
                    projHelper.AddUserToProject(userId, projectId);
                }
            }

            return(RedirectToAction("ManageProjectLevelUsers", new { id = projectId }));
        }
 public ActionResult Edit([Bind(Include = "Id,Name,Description,Created")] Project project, List <string> users)
 {
     if (ModelState.IsValid)
     {
         foreach (var user in db.Users)
         {
             projHelper.RemoveUserFromProject(user.Id, project.Id);
         }
         // Then add them back to the selected role
         foreach (var user in users)
         {
             projHelper.AddUserToProject(user, project.Id);
         }
         project.Updated         = DateTimeOffset.Now;
         db.Entry(project).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(project));
 }
示例#21
0
        public ActionResult ManageProjectUsers(List <int> projects, string adminId, string projectManagerId, List <string> developers, List <string> submitters)
        {
            if (projects != null)
            {
                foreach (var projectId in projects)
                {
                    foreach (var user in projHelper.UsersOnProject(projectId).ToList())
                    {
                        projHelper.RemoveUserFromProject(user.Id, projectId);
                    }

                    if (!string.IsNullOrEmpty(adminId))
                    {
                        projHelper.AddUserToProject(adminId, projectId);
                    }

                    if (!string.IsNullOrEmpty(projectManagerId))
                    {
                        projHelper.AddUserToProject(projectManagerId, projectId);
                    }

                    if (developers != null)
                    {
                        foreach (var developerId in developers)
                        {
                            projHelper.AddUserToProject(developerId, projectId);
                        }
                    }

                    if (submitters != null)
                    {
                        foreach (var submitterId in submitters)
                        {
                            projHelper.AddUserToProject(submitterId, projectId);
                        }
                    }
                }
            }

            return(RedirectToAction("ManageProjectUsers"));
        }
示例#22
0
        public ActionResult AssignProject(string UserId, int ProjectId)
        {
            if (helper.AddUserToProject(UserId, ProjectId))
            {
                return(RedirectToAction("Index", "Home"));
            }

            else
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
        }
示例#23
0
        public ActionResult AssignUserProject(string userId, int projectID)
        {
            projectHelper.AddUserToProject(userId, projectID);

            ViewBag.ProjecstIds = new MultiSelectList(db.Projects, "Id", "Name");
            var usersInfo = new List <IndexUsersViewModel>();
            var allUsers  = db.Users.ToList();

            foreach (var user in allUsers)
            {
                var userInfo = new IndexUsersViewModel();
                userInfo.User     = user;
                userInfo.Projects = projectHelper.ListUserProjects(user.Id);
                userInfo.role     = roleHelper.ListUserRoles(user.Id);
                usersInfo.Add(userInfo);
            }
            var project = db.Projects.Find(projectID);

            //return RedirectToAction("ManageUsersAndProjects", usersInfo.ToList());
            return(Json(new { Name = project.Name, Description = project.Description, Created = project.Created.ToString("MMM dd,yyyy"), projectID, userId }));
        }
        public ActionResult ManageProjectUsers(List <int> projects, string projectManagerId, List <string> developers, List <string> submitters)
        {
            //Remove users from every project I have selected
            if (projects != null)
            {
                foreach (var projectId in projects)
                {
                    //Remove everyone from This project
                    foreach (var user in projHelper.UsersOnProject(projectId).ToList())
                    {
                        projHelper.RemoveUserFromProject(user.Id, projectId);
                    }

                    //Add back a Pm if I can
                    if (!string.IsNullOrEmpty(projectManagerId))
                    {
                        projHelper.AddUserToProject(projectManagerId, projectId);
                    }

                    if (developers != null)
                    {
                        foreach (var developerId in developers)
                        {
                            projHelper.AddUserToProject(developerId, projectId);
                        }
                    }

                    if (submitters != null)
                    {
                        foreach (var submitterId in submitters)
                        {
                            projHelper.AddUserToProject(submitterId, projectId);
                        }
                    }
                }
            }
            return(RedirectToAction("ManageProjectUsers"));
        }
示例#25
0
        public ActionResult ManageProjectLevelUsers(List <string> userIds, int projectId)
        {
            if (userIds != null)
            {
                //var projMembersIds = projHelper.UsersOnProject(projectId).Select(u => u.Id).ToList();

                //foreach(var memberId in projMembersIds)
                //{
                //    projHelper.RemoveUserFromProject(memberId, projectId);
                //}

                foreach (var userId in userIds)
                {
                    if (!projHelper.IsUserOnProject(userId, projectId))
                    {
                        projHelper.AddUserToProject(userId, projectId);
                        if (rolesHelper.IsUserInRole(userId, "ProjectManager"))
                        {
                            var proj = db.Projects.Find(projectId);
                            proj.ProjectManagerId = userId;
                            db.SaveChanges();
                        }
                    }
                    else
                    {
                        projHelper.RemoveUserFromProject(userId, projectId);
                        if (rolesHelper.IsUserInRole(userId, "ProjectManager"))
                        {
                            var proj = db.Projects.Find(projectId);
                            proj.ProjectManagerId = null;
                            db.SaveChanges();
                        }
                    }
                }
            }

            return(RedirectToAction("ManageProjectLevelUsers", new { id = projectId }));
        }
示例#26
0
        public ActionResult ManageProjectUsers(int projectId, List <string> ProjectManagers, List <string> Developers, List <string> Submitters)
        {
            //Step 1.  Remove all users from the incoming project
            foreach (var user in projectHelper.UsersOnProject(projectId).ToList())
            {
                projectHelper.RemoveUserFromProject(user.Id, projectId);
            }

            //Step 2:  Adds Back all the selected PM's
            if (ProjectManagers != null)
            {
                foreach (var projectManagerId in ProjectManagers)
                {
                    projectHelper.AddUserToProject(projectManagerId, projectId);
                }
            }

            //Step 3:  Adds back all the selected Developers
            if (Developers != null)
            {
                foreach (var developerId in Developers)
                {
                    projectHelper.AddUserToProject(developerId, projectId);
                }
            }

            //Step4:  Adds back all the selected Submitters
            if (Submitters != null)
            {
                foreach (var submitterId in Submitters)
                {
                    projectHelper.AddUserToProject(submitterId, projectId);
                }
            }

            //Step 5:  Redirect the user somewhere
            return(RedirectToAction("Details", "Projects", new { id = projectId }));
        }
示例#27
0
        public ActionResult Edit([Bind(Include = "Id,FirstName,LastName,DisplayName,Email")] ApplicationUser applicationUser, string Roles, List <int> Projects)
        {
            if (ModelState.IsValid)
            {
                applicationUser.UserName = applicationUser.Email;
                //Assign the user to the selected role
                //Determine if the user currently occupies a role and if so remove them from it

                if (User.IsInRole("Admin"))
                {
                    foreach (var role in rolesHelper.ListUserRoles(applicationUser.Id))
                    {
                        rolesHelper.RemoveUserFromRole(applicationUser.Id, role);
                    }

                    //Add them to the selected role
                    if (Roles != null)
                    {
                        rolesHelper.AddUserToRole(applicationUser.Id, Roles);
                    }
                }
                //Remove user from all projects
                foreach (var project in projHelper.ListUserProjects(applicationUser.Id))
                {
                    projHelper.RemoveUserFromProject(applicationUser.Id, project.Id);
                }

                //Add them to the selected projects
                if (Projects != null)
                {
                    foreach (var projectId in Projects)
                    {
                        projHelper.AddUserToProject(applicationUser.Id, projectId);
                    }
                }

                //Because we have removed several fields from the User Edit Form, we have to tell the SQL that only a few specific properties are eligible for modification
                //db.Entry(applicationUser).State = EntityState.Modified; <-- This tells SQL that ALL properties are eligible for modification
                db.Users.Attach(applicationUser);
                db.Entry(applicationUser).Property(x => x.FirstName).IsModified   = true;
                db.Entry(applicationUser).Property(x => x.LastName).IsModified    = true;
                db.Entry(applicationUser).Property(x => x.DisplayName).IsModified = true;
                db.Entry(applicationUser).Property(x => x.Email).IsModified       = true;
                db.Entry(applicationUser).Property(x => x.UserName).IsModified    = true;

                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View(applicationUser));
        }
示例#28
0
 public ActionResult ManageProjects(List <int> projects, string UserIds)
 {
     if (projects != null)
     {
         foreach (var projectId in projects)
         {
             if (!string.IsNullOrEmpty(UserIds))
             {
                 projectsHelper.AddUserToProject(UserIds, projectId);
             }
         }
     }
     return(RedirectToAction("ManageProjects", "Admin"));
 }
        public ActionResult Edit([Bind(Include = "Id,Name")] Project project, List <string> Developers, List <string> Submitters, string ProjectManager)
        {
            if (ModelState.IsValid)
            {
                foreach (var user in projectHelper.UsersOnProject(project.Id).ToList())
                {
                    projectHelper.RemoveUserFromProject(user.Id, project.Id);
                }

                if (Developers != null)
                {
                    foreach (var userId in Developers)
                    {
                        projectHelper.AddUserToProject(userId, project.Id);
                    }
                }

                if (Submitters != null)
                {
                    foreach (var userId in Submitters)
                    {
                        projectHelper.AddUserToProject(userId, project.Id);
                    }
                }

                if (ProjectManager != null)
                {
                    projectHelper.AddUserToProject(ProjectManager, project.Id);
                }

                db.Entry(project).State = EntityState.Modified;
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }
            return(View(project));
        }
示例#30
0
 public ActionResult AssignProjectUsers(List <string> userIds, List <int> projectIds)
 {
     if (userIds != null && projectIds != null)
     {
         foreach (var userId in userIds)
         {
             foreach (var projectId in projectIds)
             {
                 notificationHelper.ProjectAssignmentNotification(projectId, userId);
                 projHelper.AddUserToProject(userId, projectId);
             }
         }
     }
     return(RedirectToAction("AssignProjectUsers"));
 }