// GET: Projects/ManageProjects/5 public ActionResult ManageProjects() { RoleHelper roleHelper = new RoleHelper(); var userId = User.Identity.GetUserId(); var myRole = roleHelper.ListUserRoles(userId).FirstOrDefault(); var model = new ProjectListViewModel(); var user = db.Users.Find(userId); var myTickets = new List <Ticket>(); var myProjects = new List <Project>(); switch (myRole) { case "Admin": case "DemoAdmin": myTickets = db.Tickets.ToList(); myProjects = db.Projects.ToList(); break; case "PM": case "DemoPm": myProjects = db.Projects.Where(p => p.ProjectManagerId == userId).ToList(); myTickets = myProjects.SelectMany(p => p.Tickets).ToList(); break; case "Dev": case "DemoDev": myProjects = user.Projects.ToList(); myTickets = myProjects.SelectMany(t => t.Tickets).Where(t => t.DeveloperId == userId).ToList(); break; case "Sub": case "DemoSub": myProjects = user.Projects.ToList(); myTickets = db.Tickets.Where(t => t.SubmitterId == userId).ToList(); break; default: return(RedirectToAction("Register", "Account")); } foreach (var item in myProjects) { var vm = new ProjectAndPM(); var pm = ProjectDisplayHelper.DisplayPMName(item.ProjectManagerId); vm.Project = item; vm.PMName = pm; model.Projects.Add(vm); } return(View(model)); }
public ActionResult ListView() { List <Project> projects = db.Projects.ToList(); ProjectListViewModel model = new ProjectListViewModel(); foreach (var item in projects) { var vm = new ProjectAndPM(); var pm = ProjectDisplayHelper.DisplayPMName(item.ProjectManagerId); vm.Project = item; vm.PMName = pm; model.Projects.Add(vm); } return(View(model)); }