//gets all the tickets assigned to the logged in user. public List <Ticket> GetMyTickets() { var userId = HttpContext.Current.User.Identity.GetUserId(); var myRole = userRoleHelper.ListUserRoles(userId).FirstOrDefault(); switch (myRole) { case "Admin": return(db.Tickets.ToList()); case "ProjectManager": var ticketList = new List <Ticket>(); foreach (var project in projectHelper.ListUserProjects(userId).ToList()) { ticketList.AddRange(project.Tickets.ToList()); } return(ticketList); case "Developer": return(db.Tickets.Where(t => t.DeveloperId == userId).ToList()); case "Submitter": return(db.Tickets.Where(t => t.SubmitterId == userId).ToList()); default: return(db.Tickets.Where(t => t.DeveloperId == userId).ToList()); } }
public ICollection <Ticket> GetProjectTickets(string pmId) { var myTickets = new List <Ticket>(); foreach (var project in projectHelper.ListUserProjects(pmId)) { myTickets.AddRange(db.Tickets.Where(t => t.ProjectId == project.Id).ToList()); } return(myTickets); }
public static bool TicketEditable(Ticket ticket) { var userId = HttpContext.Current.User.Identity.GetUserId(); var myRole = roleHelper.ListUserRoles(userId).FirstOrDefault(); switch (myRole) { case "Developer": return(ticket.AssignedToUserId == userId); case "Submitter": return(ticket.OwnerUserId == userId); case "Project Manager": var myProjects = projectHelper.ListUserProjects(userId); foreach (var project in myProjects) { foreach (var projTick in project.Tickets) { if (projTick.Id == ticket.Id) { return(true); } } } return(false); case "Admin": return(true); default: return(false); } }
public ICollection <Project> GetMyActiveProjects(string id) { var projects = projectHelper.ListUserProjects(id).Where(b => !b.Archived); return(projects.ToList()); }