public async Task <IActionResult> Create(CreateUserRoleViewModel userRoleViewModel) { var user = new ApplicationUser(); user.UserName = userRoleViewModel.Email; user.Email = userRoleViewModel.Email; user.isFirstLogin = true; user.TwoFactorEnabled = false; // user.EmailConfirmed = true; string password = userRoleViewModel.Password; IdentityResult chkUser = await _userManager.CreateAsync(user, password); if (chkUser.Succeeded) { var token = await _userManager.GenerateEmailConfirmationTokenAsync(user); var confirmationLink = Url.Page("/Account/ConfirmEmail", pageHandler: null, values: new { area = "Identity", userId = user.Id, token }, protocol: Request.Scheme); if (userRoleViewModel.IsSuperAdmin) { var addToRole = await _userManager.AddToRoleAsync(user, UserRolesConst.SuperAdmin); } else { var addToRole = await _userManager.AddToRoleAsync(user, UserRolesConst.ContentManager); } await _emailSender.SendEmailAsync(user.Email, user.UserName, "Confirm your email", $"Please confirm your account by <a href='{HtmlEncoder.Default.Encode(confirmationLink)}'>clicking here</a>."); await _emailSender.SendEmailAsync(user.Email, user.UserName, "Email Account", "Please Check Your Email Confirmation Credential <br><br>" + "Email: " + user.Email + "<br><br>" + "Password: <b>" + password + "</b>" + "<br><br> <b>Please Reset Your Password</b><br> Thanks"); _logger.LogInformation(user.Email + " Was Created" + " by Super Admin" + " and two emails sent to " + user.Email); _toastNotification.AddSuccessToastMessage(user.Email + " Created Successfully"); _eventLogger.LogInfoEvent(HttpContext.User.Identity.Name, Common.ActivityEnum.Add, "Super Admin > User Managment > Add", user.Email + " Created Successfully"); if (!userRoleViewModel.IsSuperAdmin) { AddDefaultConfig(user.Id); } return(RedirectToAction("Index", "Home")); } else { foreach (IdentityError error in chkUser.Errors) { ModelState.AddModelError(string.Empty, error.Description); } } ViewBag.Roles = _roleManager.Roles.ToList(); return(View()); }
private async Task SendEmail(Order order) { StringBuilder products = new StringBuilder(); foreach (var item in order.OrderItem) { products.Append(item.Product.Name + " - " + item.Quantity + "szt.\n"); } StringBuilder message = new StringBuilder(); message.Append("Dziękujemy za złożene zamówienia!\n\n"); message.Append(products); message.Append("Całkowita wartość zamówienia: " + order.OrderValue.ToString("C")); await _emailSender.SendEmailAsync(order.Email, "Złożono zamówienie", message.ToString()); }
public async Task <IActionResult> Index(ViewContactUs contactUs, string lang) { var contactUsModel = _dataAccessService.PageContact.FirstOrDefault(); if (lang == null || lang.ToLower() == "ar") { ViewBag.Title = contactUsModel.ArPageName; } else { ViewBag.Title = contactUsModel.ArPageName; } var items = _dataAccessService.PageContact.Where(i => i.IsDeleted != true && i.IsActive == true).OrderBy(i => i.Id).First(); if (ModelState.IsValid) { ContactUs contact = _contactUsRepository.Add(contactUs.MapToPageViewContact()); if (contact != null) { var sentMail = await _myEmailSender.SendEmailAsync(contactUsModel.EmailParticipateEmail, contactUsModel.EmailParticipateEmail, contact.Topic ?? "", contact.Message ?? ""); if (sentMail) { var msg = lang == "en" ? "Submitted Successfully" : "تم الارسال"; _toastNotification.AddSuccessToastMessage(msg); ModelState.Clear(); return(View(items.MapToPageContact())); } var msg2 = lang == "en" ? "Failed to Submit" : "حدث خطأ فل الارسال"; _toastNotification.AddErrorToastMessage(msg2); ModelState.Clear(); return(View(items.MapToPageContact())); } else { _toastNotification.AddErrorToastMessage("See Validation Errors"); ModelState.Clear(); return(View(items.MapToPageContact())); } } _toastNotification.AddErrorToastMessage("See Validation Errors"); ModelState.Clear(); return(View(items.MapToPageContact())); }
public async Task <bool> SaveFeedback(VmSaveFeedback param) { var applicationDetail = await feedbackContext.Applications.FirstOrDefaultAsync(x => x.Enabled && x.ApplicationPublicKey == param.ApplicationKey); Model.Database.Feedback feedbackModel = new Model.Database.Feedback(); feedbackModel.DeviceKey = param.DeviceKey; feedbackModel.Message = param.Message.Trim(); feedbackModel.ApplicationId = applicationDetail.Id; feedbackModel.DeviceKey = param.DeviceKey; await feedbackContext.Feedback.AddAsync(feedbackModel); var resultCount = await feedbackContext.SaveChangesAsync(); //Send Mail? if (resultCount > 0 && Convert.ToBoolean(config["NewFeedbackAfterSendMail"])) { await myEmailSender.SendEmailAsync(config["NewFeedbackAfterSendMailAdress"], "Feedback", $"Feedback Application : {applicationDetail.ApplicationName} | \n Message : {param.Message}"); } return(resultCount > 0); }
public async Task <IActionResult> Register(RegisterModel model) { if (!ModelState.IsValid) { return(View(model)); } var user = new ApplicationUser { UserName = model.Username, Email = model.Email, FullName = model.FullName }; var result = await _userManager.CreateAsync(user, model.Password); if (result.Succeeded) { var code = await _userManager.GenerateEmailConfirmationTokenAsync(user); var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, token = code }); await _smtpemailSender.SendEmailAsync(model.Email, "Hesabınızı Onaylayınız.", $"Lütfen email hesabınızı onaylamak için linke <a href='http://localhost:52950{callbackUrl}'>tıklayınız.</a>"); return(RedirectToAction("Login", "Account")); } ModelState.AddModelError("", "Bilinmeyen hata oluştu lütfen tekrar deneyiniz."); return(View(model)); }