Example #1
0
        // GET: Projects
        public ActionResult Index()
        {
            var model    = new List <ProjectIndexDetails>();
            var projects = db.Projects.ToList();

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


            return(View(model));
        }
Example #2
0
        // 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));
        }