public ActionResult Details([Bind(Include = "SelectedProjects,ProjectsList")] UserProjectsViewModel model) { if (ModelState.IsValid) { var user = (ApplicationUser)TempData["CurrentUser"]; var userProjects = helper.ListProjectsForUser(user.Id); //DELETE current Projects) foreach (var project in userProjects) { helper.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); helper.AddUserToProject(user.Id, projectId); } } db.SaveChanges(); } return(RedirectToAction("Index")); }
public ActionResult Index() { List <UserProjectsViewModel> userList = new List <UserProjectsViewModel>(); foreach (var user in db.Users.OrderBy(p => p.DisplayName).ToList()) { UserProjectsViewModel uservm = new UserProjectsViewModel(); uservm.User = user; uservm.Projects = helper.ListProjectsForUser(user.Id); userList.Add(uservm); } return(View(userList)); }
public async Task <IActionResult> MyProjects(string id)//here i get User.Identity.Name { var user = service.FindUser(id); if (user == null) { return(NotFound()); } var list = new UserProjectsViewModel { UserProjects = await service.UserProjects(id) }; return(View(list)); }
public ActionResult CustomerProfile() { int userId = Convert.ToInt32(Session["UserId"]); UserProjectsViewModel UserProjectsVM = new UserProjectsViewModel(); UserProjectsVM.User = _context.Users.Find(userId); var ProjectIds = _context.UserProjects.Where(up => up.UserId == userId).Select(up => up.ProjectId).ToList(); var Projects = _context.Projects.Where(p => ProjectIds.Contains(p.ProjectId)).ToList(); UserProjectsVM.Projects = Projects; return(View(UserProjectsVM)); }
public ActionResult Details(string id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } UserProjectsViewModel uservm = new UserProjectsViewModel(); ApplicationUser user = db.Users.Find(id); uservm.User = user; TempData["CurrentUser"] = user; uservm.Projects = helper.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); if (uservm == null) { return(HttpNotFound()); } return(View(uservm)); }
// GET: Projects with authorization public ActionResult UserProjects() //Based off of user tickets in the ticket controller. UserProjectsViewModel is based off UserRolesViewModel { var userProjectsViewModel = new UserProjectsViewModel(); var userId = User.Identity.GetUserId(); if (User.IsInRole("Admin")) { var projects = db.Projects.Where(p => p.Users.Any(u => u.Id == userId)).ToList(); var model = new List <ProjectIndexDetails>(); foreach (var project in projects) { ProjectIndexDetails newProject = new ProjectIndexDetails(); newProject.Project = project; if (project.ProjectManagerId != null) { string firstName = db.Users.FirstOrDefault(u => u.Id == project.ProjectManagerId).FirstName; string lastName = db.Users.FirstOrDefault(u => u.Id == project.ProjectManagerId).LastName; newProject.ProjectManagerName = $"{firstName} {lastName}"; } else { newProject.ProjectManagerName = "Unassigned"; } model.Add(newProject); } userProjectsViewModel.AdminProjs = model; } if (User.IsInRole("ProjectManager")) { var projects = db.Projects.Where(p => p.ProjectManagerId == userId).ToList(); var model = new List <ProjectIndexDetails>(); foreach (var project in projects) { ProjectIndexDetails newProject = new ProjectIndexDetails(); newProject.Project = project; if (project.ProjectManagerId != null) { string firstName = db.Users.FirstOrDefault(u => u.Id == project.ProjectManagerId).FirstName; string lastName = db.Users.FirstOrDefault(u => u.Id == project.ProjectManagerId).LastName; newProject.ProjectManagerName = $"{firstName} {lastName}"; } else { newProject.ProjectManagerName = "Unassigned"; } model.Add(newProject); } userProjectsViewModel.ProjectManProjs = model; } if (User.IsInRole("Developer")) { var projects = db.Projects.Where(p => p.Users.Any(u => u.Id == userId)).ToList(); var model = new List <ProjectIndexDetails>(); foreach (var project in projects) { ProjectIndexDetails newProject = new ProjectIndexDetails(); newProject.Project = project; if (project.ProjectManagerId != null) { string firstName = db.Users.FirstOrDefault(u => u.Id == project.ProjectManagerId).FirstName; string lastName = db.Users.FirstOrDefault(u => u.Id == project.ProjectManagerId).LastName; newProject.ProjectManagerName = $"{firstName} {lastName}"; } else { newProject.ProjectManagerName = "Unassigned"; } model.Add(newProject); } userProjectsViewModel.DeveloperProjs = model; } if (User.IsInRole("Submitter")) { var projects = db.Projects.Where(p => p.Users.Any(u => u.Id == userId)).ToList(); var model = new List <ProjectIndexDetails>(); foreach (var project in projects) { ProjectIndexDetails newProject = new ProjectIndexDetails(); newProject.Project = project; if (project.ProjectManagerId != null) { string firstName = db.Users.FirstOrDefault(u => u.Id == project.ProjectManagerId).FirstName; string lastName = db.Users.FirstOrDefault(u => u.Id == project.ProjectManagerId).LastName; newProject.ProjectManagerName = $"{firstName} {lastName}"; } else { newProject.ProjectManagerName = "Unassigned"; } model.Add(newProject); } userProjectsViewModel.SubmitterProjs = model; } return(View(userProjectsViewModel)); }