Esempio n. 1
0
        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"));
        }
Esempio n. 2
0
        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));
        }