コード例 #1
0
        // GET: projects/5
        public ActionResult Show(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Project project = db.Projects.Find(id);

            if (project == null)
            {
                return(HttpNotFound());
            }

            List <TicketViewModel> projectTicketViewModels = new List <TicketViewModel>();

            foreach (var item in project.Tickets.ToList())
            {
                projectTicketViewModels.Add(new TicketViewModel(item));
            }

            List <EditUserViewModel> projectMembers = new List <EditUserViewModel>();
            var userIDs = db.UserProjectRoles.Where(u => u.ProjectID == id).Select(u => u.UserID);
            var users   = db.AspNetUsers;

            foreach (var item in userIDs.ToList())
            {
                projectMembers.Add(new EditUserViewModel(users.Find(item)));
            }

            DetailsProjectViewModel model = new DetailsProjectViewModel(project, projectTicketViewModels, projectMembers);

            return(View(model));
        }
コード例 #2
0
        public ActionResult DetailsOfProject(string id)
        {
            if (id == null)
            {
                return(RedirectToAction("Index", "Main"));
            }

            var  currentUserId = User.Identity.GetUserId();
            bool specialCase;

            if (User.IsInRole("Admin") || User.IsInRole("Project Manager"))
            {
                specialCase = true;
            }
            else
            {
                specialCase = false;
            }
            var project = DbContext.Projects
                          .FirstOrDefault(
                p => p.Id == id && (p.Users.Any(r => r.Id == currentUserId) || specialCase == true));

            if (project == null || project.Archived == true)
            {
                return(RedirectToAction("Index", "Main"));
            }

            var model = new DetailsProjectViewModel();

            model.Id             = project.Id;
            model.ProjectName    = project.ProjectName;
            model.ProjectDetails = project.ProjectDetails;
            model.MemberCount    = project.Users.Count();
            model.TicketCount    = project.TicketCount;
            model.DateCreated    = project.DateCreated;
            model.DateUpdated    = project.DateUpdated;
            model.UserName       = project.User.UserName;

            return(View(model));
        }