// GET: SupportTicket
        public JsonResult GetSupportTicketsForUser()
        {
            HelpDeskDatabase db = new HelpDeskDatabase();
            IEnumerable<SupportTicket> tickets = db.SupportTickets.Where(s => s.AssignedTo.Equals(User.Identity.Name, StringComparison.InvariantCultureIgnoreCase) && s.Status == "Open");

            return Json(tickets, JsonRequestBehavior.AllowGet);
        }
        public PartialViewResult GetSupportTicketDetails(string supportTicketID)
        {
            HelpDeskDatabase db = new HelpDeskDatabase();

            SupportTicketViewModel model = new SupportTicketViewModel();
            model.SupportTicket = db.SupportTickets.Find(Int32.Parse(supportTicketID));

            return PartialView("_SupportTicketDetails", model);
        }
        public async Task CloseSupportTicket(string supportTicketID)
        {
            HelpDeskDatabase db = new HelpDeskDatabase();
            SupportTicket supportTicket = db.SupportTickets.Find(Int32.Parse(supportTicketID));
            supportTicket.Status = "Closed";
            db.SaveChanges();

            GraphHelper graphHelper = new GraphHelper();
            await graphHelper.MarkEmailMessageClosed(supportTicket.MessageID);
        }
        public async Task AssignSupportTicket(string messageID, string title, string description, string assignedTo)
        {
            SupportTicket supportTicket = new SupportTicket();
            supportTicket.AssignedTo = assignedTo;
            supportTicket.MessageID = messageID;
            supportTicket.Title = Uri.UnescapeDataString(title);
            supportTicket.Description = Uri.UnescapeDataString(description);
            supportTicket.Status = "Open";

            HelpDeskDatabase db = new HelpDeskDatabase();
            db.SupportTickets.Add(supportTicket);
            db.SaveChanges();

            GraphHelper graphHelper = new GraphHelper();
            await graphHelper.MarkEmailMessageAssigned(messageID);
        }