コード例 #1
0
        public ActionResult Edit(int?id, bool flag)
        {
            int ticketId = 0;

            if (id != null)
            {
                ticketId = (int)id;
            }
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            Ticket ticket = db.Tickets.Find(id);

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

            if (User.IsInRole("Admin") || validator.DevTicketAssigned(ticketId) || validator.PMProjectTicket(ticketId) || validator.TicketOwner(ticketId))
            {
                var ticketOwner = db.Users.FirstOrDefault(u => u.Id == ticket.OwnerUserId);
                var project     = db.Projects.FirstOrDefault(p => p.Id == ticket.ProjectId);
                if (User.IsInRole("Admin") || validator.PMProjectTicket(ticketId))
                {
                    //var devList = rolesHelper.UsersInRole("Developer");
                    var role    = db.Roles.FirstOrDefault(r => r.Name == "Developer");
                    var devList = ticket.Project.ProjectUsers.Where(u => u.Roles.Any(r => r.RoleId == role.Id)).ToList();
                    ViewBag.AssignedToUserId = new SelectList(devList, "Id", "DisplayName", ticket.AssignedToUserId);
                }
                else
                {
                    var assignedUser     = db.Users.FirstOrDefault(u => u.Id == ticket.AssignedToUserId);
                    var assignedUserName = assignedUser.DisplayName;
                    ViewBag.AssignedToUserDisplayName = assignedUserName;
                }
                ViewBag.OwnerUser = ticketOwner.DisplayName;

                ViewBag.ProjectName      = project.Name;
                ViewBag.TicketPriorityId = new SelectList(db.TicketPriorities, "Id", "Name", ticket.TicketPriorityId);
                ViewBag.TicketStatusId   = new SelectList(db.TicketStatuses, "Id", "Name", ticket.TicketStatusId);
                ViewBag.TicketTypeId     = new SelectList(db.TicketTypes, "Id", "Name", ticket.TicketTypeId);
                ViewBag.UserIndexFlag    = flag;
                return(View(ticket));
            }

            return(RedirectToAction("UserIndex"));
        }
コード例 #2
0
        public ActionResult Edit(int?id, bool flag)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            var           commentId     = (int)id;
            TicketComment ticketComment = db.TicketComments.Find(id);

            if (User.IsInRole("Admin") || validator.PMProjectTicket(ticketComment.Ticket.Id) || validator.CommentOwner(commentId))
            {
                if (ticketComment == null)
                {
                    return(HttpNotFound());
                }
                ViewBag.UserIndexFlag   = flag;
                ViewBag.UserDisplayName = db.Users.FirstOrDefault(u => u.Id == ticketComment.UserId).DisplayName;
                ViewBag.TicketTitle     = db.Tickets.FirstOrDefault(t => t.Id == ticketComment.TicketId).Title;
                return(View(ticketComment));
            }
            return(RedirectToAction("UserIndex", "Tickets"));
        }