public JsonResult GetRealChartDataMyTickets1() { var data = new ChartJsBarData(); var userId = User.Identity.GetUserId(); //First Get the Id of the logged in user var myRole = roleHelper.ListUserRoles(userId).FirstOrDefault(); //then get the roles they occupy //firstordefault Returns the first element of a sequence, or a default value if no element is found var myTickets = new List <Ticket>(); switch (myRole)//then based on the role name - push different data into the view { case "Developer": myTickets = db.Tickets.Where(t => t.AssignedToUserId == userId).ToList(); break; case "Submitter": myTickets = db.Tickets.Where(t => t.OwnerUserId == userId).ToList(); break; case "Project Manager": myTickets = db.Users.Find(userId).Projects.SelectMany(t => t.Tickets).ToList(); break; } foreach (var type in db.TicketTypes) { data.Labels.Add(type.Name); data.Values.Add(myTickets.Where(t => t.TicketTypeId == type.Id).Count()); } return(Json(data)); }
//} //public JsonResult GetRealChartData12() //{ // var data = new ChartJsBarData(); // foreach (var ticketpriority in db.TicketPriorities.ToList()) // { // var value = db.TicketPriorities.Find(ticketpriority.Id).Tickets.Count(); // data.Labels.Add(ticketpriority.Name); // data.Values.Add(value); // } // return Json(data); //} public JsonResult GetRealChartData1() { var data = new ChartJsBarData(); foreach (var project in db.Projects.ToList()) { var value = db.Projects.Find(project.Id).Tickets.Count(); data.Labels.Add(project.Name); data.Values.Add(value); } return(Json(data)); }
public JsonResult GetBarData(string property) { var userId = User.Identity.GetUserId(); var dataObject = new ChartJsBarData(); switch (property) { case "Priority": foreach (var priority in db.Priorities.ToList()) { dataObject.Labels.Add(priority.Name); dataObject.Data.Add(db.Tickets.AsNoTracking().Count(t => t.TicketPriorityId == priority.Id)); } break; case "Type": foreach (var type in db.TicketTypes.ToList()) { dataObject.Labels.Add(type.Name); dataObject.Data.Add(db.Tickets.AsNoTracking().Count(t => t.TicketTypeId == type.Id)); } break; case "Status": foreach (var status in db.Statuses.ToList()) { dataObject.Labels.Add(status.Name); dataObject.Data.Add(db.Tickets.AsNoTracking().Count(t => t.TicketStatusId == status.Id)); } break; case "User": foreach (var project in db.Projects.Where(p => p.ProjectManagerId == userId).ToList()) { dataObject.Labels.Add(project.Name); dataObject.Data.Add(db.Tickets.AsNoTracking().Count(t => t.ProjectId == project.Id)); } break; } return(Json(dataObject)); }
public JsonResult GetRealChartDataMyProjects() { var data = new ChartJsBarData(); var userId = User.Identity.GetUserId(); var currentUser = db.Users.Find(userId); var myProjects = currentUser.Projects.ToList(); foreach (var project in myProjects) { var value = myProjects.Count(); data.Labels.Add(project.Name); data.Values.Add(value); } return(Json(data)); }