public ActionResult SupportTicket(UserModel.User user)
 {
     if (ModelState.IsValid)
     {
         SupportTicket TicketData = new SupportTicket();
         TicketData.Email = user.SupportEmail;
         TicketData.Name = user.SupportName;
         TicketData.Phone = user.SupportPhone;
         TicketData.Category = user.SupportCategory;
         TicketData.Description = user.SupportDescription;
         TicketData.CreatedTime = DateTimeOffset.Now;
         if (User.Identity.Name != null)
         {
             TicketData.Username = User.Identity.Name;
         }
         var PhoneRegex = new Regex(@"\d{7}");
         string email = user.SupportEmail;
         Regex regex = new Regex(@"^([\w\.\-]+)@([\w\-]+)((\.(\w){2,3})+)$");
         Match match = regex.Match(email);
         Match phoneMatch = PhoneRegex.Match(user.SupportPhone);
         if (!match.Success)
         {
             //Bad Email
             ModelState.AddModelError("SupportEmail", "Invalid Email");
         }
         if (user.SupportName.Length < 1)
         {
             //Bad Name
             ModelState.AddModelError("SupportName", "Please provide your name");
         }
         if (!phoneMatch.Success)
         {
             //Bad Phone
             ModelState.AddModelError("SupportPhone", "Invalid phone number");
         }
         else if (user.SupportCategory.Length < 1)
         {
             //Bad Category
             ModelState.AddModelError("SupportCategory", "Please select a ticket category");
         }
         else if (user.SupportDescription.Length < 1)
         {
             //Bad description
             ModelState.AddModelError("SupportDescription", "Please provide a description");
         }
         //Write to DB if all is good
         if (ModelState.IsValid)
         {
             if (user.SubmitSupportTicket(TicketData, User.Identity.Name))
             {
                 return RedirectToAction("SupportConfirmation", "User");
             }
         }
     }
     return View(user);
 }