public ActionResult CurrentTicketUsers(int id) { var ticket = DbContext.Tickets .FirstOrDefault(t => t.ID == id); var assignedUser = DbContext.Users .FirstOrDefault(p => p.Id == ticket.AssignedToUserID); var model = new TicketUserViewModel(); if (assignedUser != null) { model = new TicketUserViewModel { ID = id, UserID = assignedUser.Id, UserName = assignedUser.UserName, FirstName = assignedUser.FirstName, LastName = assignedUser.LastName }; DbContext.SaveChanges(); return(PartialView(model)); } else { return(PartialView(model)); } }
public ActionResult DisplayTicket() { var roleId = _context.Roles.Where(m => m.Name == "Patient").Select(m => m.Id).SingleOrDefault(); var users = _context.Users .Where(u => u.Roles.Any(r => r.RoleId == roleId)).ToList(); var viewModel = new TicketUserViewModel { Patients = users }; return(View(viewModel)); }
public ActionResult AddTicketUsers(TicketUserViewModel ticketUser) { var applicationUserId = User.Identity.GetUserId(); var developerRole = DbContext.Roles.FirstOrDefault(r => r.Name == "Developer").Id; var unassignedDeveloperUsers = DbContext.Users; var user = DbContext.Users.Where(u => u.Roles.Any(p => p.RoleId == developerRole)) .FirstOrDefault(p => p.Id == ticketUser.UserID); var ticket = DbContext.Tickets.FirstOrDefault( p => p.ID == ticketUser.ID); if (user == null) { return(RedirectToAction(nameof(ManageProjectUsersController.EditProjectUsers))); } var historyWriter = new CustomHelpers(); historyWriter.MakeTicketHistories(ticket, user, applicationUserId); var message = new IdentityMessage { Destination = $"{user.Email}", Subject = $"You've been assigned to a new a new ticket: {ticket.Title}", Body = $"new ticket--- {ticket.Title}: {ticket.Description}" }; var emailService = new EmailService(); emailService.SendAsync(message); ticket.AssignedToUserID = user.Id; var ticketNotification = new TicketNotification { UserID = user.Id, TicketID = ticket.ID }; DbContext.TicketNotifications.Add(ticketNotification); DbContext.SaveChanges(); return(RedirectToAction("EditTicketUsers", "ManageTicketUsers", new { id = ticketUser.ID })); }
public ActionResult StoreTicket(TicketFormViewModel viewModel) { var roleId = _context.Roles.Where(m => m.Name == "Patient").Select(m => m.Id).SingleOrDefault(); var users = _context.Users .Where(u => u.Roles.Any(r => r.RoleId == roleId)).ToList(); var openTicketExists = from t in _context.Tickets where t.PatientUserId == viewModel.Ticket.PatientUserId where t.TicketStatus == "Open" where t.DepartmentId == viewModel.Ticket.DepartmentId//Remove this part to Filter by only open tickets select t; if (!ModelState.IsValid || openTicketExists.Any()) { if (openTicketExists.Any()) { ViewBag.openTicketExists = "True"; } var view = new TicketFormViewModel { Ticket = new Ticket(), Departments = _context.Departments.ToList(), Patients = users }; return(View("CreateTicket", view)); } viewModel.Ticket.ReceptionistUserId = User.Identity.GetUserId(); viewModel.Ticket.TicketStatus = "Open"; _context.Tickets.Add(viewModel.Ticket); _context.SaveChanges(); var ticketDisplayViewModel = new TicketUserViewModel { Patients = users }; return(View("DisplayTicket", ticketDisplayViewModel)); }
public ActionResult RemoveTicketUsers(TicketUserViewModel ticketUser) { var applicationUserId = User.Identity.GetUserId(); var user = DbContext.Users.FirstOrDefault( p => p.Id == ticketUser.UserID); var ticket = DbContext.Tickets.FirstOrDefault( p => p.ID == ticketUser.ID); if (user == null) { return(RedirectToAction(nameof(ManageProjectUsersController.EditProjectUsers))); } var historyWriter = new CustomHelpers(); historyWriter.MakeTicketHistories(ticket, applicationUserId); ticket.AssignedToUserID = null; DbContext.SaveChanges(); return(RedirectToAction("EditTicketUsers", "ManageTicketUsers", new { id = ticketUser.ID })); }