public ActionResult AssignTicket(string title, AssignTicketViewModel formData) { if (string.IsNullOrWhiteSpace(title)) { return(RedirectToAction(nameof(TicketsController.Index))); } if (!ModelState.IsValid) { return(View()); } var ticket = Context.Tickets.FirstOrDefault(p => p.Title == title); if (ticket == null) { return(RedirectToAction(nameof(TicketsController.Index))); } ticket.AssignedToId = formData.DevelopersId; Context.SaveChanges(); var userEmail = ticket.AssignedTo.Email; EmailService emailNotification = new EmailService(); emailNotification.Send(userEmail, "You have been assigned a new ticket", "Ticket Assigned"); return(Redirect(Request.UrlReferrer.PathAndQuery)); }
public void Assign(AssignTicketViewModel model) { var ticket = db.Tickets.FirstOrDefault(x => x.Id == model.TicketId); ticket.AssignedToUserId = model.DeveloperId; db.SaveChanges(); }
//ASSIGNED TICKET //project manager assign ticket to developer public void assignTicket(AssignTicketViewModel model) { TicketRepo.Assign(model); TicketNotification notification = new TicketNotification(model.DeveloperId, model.TicketId, true); TicketNotificationRepo.Add(notification); }
public ActionResult AssignTicket(AssignTicketViewModel model) { var ticket = (from t in DbContext.Tickets where t.Id == model.Id select t).FirstOrDefault(); var userid = User.Identity.GetUserId(); var user = GetUserById(userid); if (model.AssignedDeveloperId != null) { var developer = (from d in DbContext.Users where d.Id == model.AssignedDeveloperId select d).FirstOrDefault(); ticket.AssignedDeveloper = developer; DbContext.SaveChanges(); var newHistory = new TicketHistory(); var propChange = new PropertyChange(); propChange.PropertyName = nameof(ticket.AssignedDeveloper); propChange.OldValue = "none"; propChange.NewValue = ticket.AssignedDeveloper.Name; newHistory.PropertyChanges.Add(propChange); newHistory.User = user; newHistory.DateTime = DateTime.Now; ticket.Histories.Add(newHistory); DbContext.SaveChanges(); SendNotification(newHistory, user, ticket); } return(RedirectToAction(nameof(BugController.ViewTicketDetails), "Bug", new { Id = ticket.Id })); }
public ActionResult AssignTicket(int?Id) { if (!Id.HasValue) { return(RedirectToAction(nameof(HomeController.Index), "Home")); } var devRoleId = (from r in DbContext.Roles where r.Name == nameof(UserRoles.Developer) select r.Id).FirstOrDefault(); var developers = (from u in DbContext.Users where u.Roles.Any(r => r.RoleId == devRoleId) select u).ToList(); var ticket = (from t in DbContext.Tickets where t.Id == Id select t).FirstOrDefault(); var model = new AssignTicketViewModel() { Id = ticket.Id, Title = ticket.Title, AssignedDeveloper = ticket.AssignedDeveloper, Developers = developers }; return(View(model)); }
public ActionResult AssignTicketManagement(int?id) { if (!id.HasValue) { return(RedirectToAction(nameof(TicketController.Index))); } var ticket = AppHepler.GetTicketById(id); if (ticket == null) { return(RedirectToAction(nameof(TicketController.Index))); } var allDevs = DbContext.Users.Where(p => p.Roles.Any(b => b.RoleId == DbContext.Roles.Where(m => m.Name == "Developer").Select(n => n.Id).FirstOrDefault())) .Select(n => new UserProjectViewModel { Id = n.Id, UserName = n.UserName }).ToList(); var repeated = new UserProjectViewModel(); repeated = allDevs.Where(m => m.Id == ticket.AssigneeId).FirstOrDefault(); allDevs.Remove(repeated); var model = new AssignTicketViewModel(); model.MyUser = new UserProjectViewModel(); model.TicketId = ticket.Id; model.TicketTitle = ticket.Title; if (ticket.AssigneeId != null || ticket.Assignee != null) { model.MyUser.Id = ticket.AssigneeId; model.MyUser.UserName = ticket.Assignee.UserName; } else { model.MyUser.Id = "NoAssigneeId"; } model.Devs.AddRange(allDevs); return(View(model)); }
public ActionResult AssignTicket(AssignTicketViewModel model) { if (ModelState.IsValid) { ticketLogic.assignTicket(model); return(RedirectToAction("Index")); } var userId = User.Identity.GetUserId(); var users = new List <ApplicationUser>(); if (AdminLogic.CheckIfUserIsInRole(userId, "Admin")) { users = ticketLogic.getAllManagerAndDeveloperUser(userId); } else { users = ticketLogic.getAllDeveloperUser(userId); } ViewBag.DeveloperId = new SelectList(users, "Id", "UserName"); return(View()); }