示例#1
0
 /// <summary>
 /// Changes password
 /// </summary>
 /// <returns>true if success</returns>
 public bool SubmitSupportTicket(SupportTicket ticketData, string username)
 {
     try
     {
         //Write Ticket to MongoDB
         Mongo MongoWrite = new Mongo();
         if (!string.IsNullOrEmpty(username))
         {
             var config = MongoWrite.GetUserConfiguration(username);
             if (config.ClosedTicketNotification)
             {
                 MailgunAgent.SendChangeEmail(GetCurrentEmail(username), "You have created a support ticket on the Queue View.");
             }
         }
         MongoWrite.WriteTicketData(ticketData);
         return true;
     }
     catch (Exception ex)
     {
         Logger.WriteErrorLog(ex);
         return false;
     }
 }
示例#2
0
 /// <summary>
 /// use to write password reset objects to mongo DB
 /// </summary>
 /// <returns>true if successful</returns>
 public bool WriteTicketData(SupportTicket ticketData)
 {
     try
     {
         //Write object to Mongo DB Collection
         var mongoDatabase = MongoConnection.Connect();
         mongoDatabase.GetCollection<SupportTicket>(SupportTicketCollection).Insert(ticketData);
         return true;
     }
     catch (Exception ex)
     {
         Logger.WriteErrorLog(ex);
         return false;
     }
 }
示例#3
0
 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);
 }