public IActionResult ResendQrTicket(string id) { var user = _userService.GetUserByUserName(User.Identity.Name); var ut = _userTicketService.GetUserTicketById(Convert.ToInt32(_protector.Decode(id))); if (ut != null && user != null) { var image = QRGenerator.QRImageGen(ut.Ticket.TicketName, user.LastName + " " + user.FirstName, ut.QRCode); _emailService.SendQRCode(user.Email, ut.Ticket.TicketName, image); TempData["TicketStatus"] = "Ticket has been resent. Please check your email."; return(RedirectToAction("MyTicket", "UserTicket")); } TempData["TicketStatus"] = "Something wrong, please try again."; return(RedirectToAction("MyTicket", "UserTicket")); }
public IActionResult SendConfirmMail(string userId, string email) { var vm = new EmailConfirmationVM() { UserId = Convert.ToInt32(_protector.Decode(userId)), ConfirmationEmail = _protector.Decode(email.ToString()), }; if (!IsValidEmail(vm.ConfirmationEmail)) { ModelState.AddModelError("Email", "Invalid Email"); return(View(vm)); } //send Confirm Email var user = _userService.GetUserById(vm.UserId); if (user == null) { return(NotFound()); } string code = Guid.NewGuid().ToString(); user.EmailCode = code; _userService.EditUser(user); var subject = "Email Confirmation."; var CallBackUrl = Url.Action("ConfirmEmail", "User", new { userId = userId, code = _protector.Encode(code) }, protocol: Request.Scheme); var mailTemplate = System.IO.File.ReadAllText("./Models/ViewModel/UserVM/EmailConfirm.html"); mailTemplate = mailTemplate.Replace("{UserName}", user.UserName); mailTemplate = mailTemplate.Replace("{Content}", "Please click bellow button for confirm your email."); mailTemplate = mailTemplate.Replace("{ConfirmationLink}", CallBackUrl); _emailService.SendEmail(user.Email, subject, mailTemplate); ModelState.AddModelError("", "Confirmation mail is sent. Please check your email."); return(View(vm)); }