// 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));
        }