public async Task <ActionResult> RecoverPassword(string email) { var userStore = MembershipTools.NewUserStore(); var userManager = new UserManager <ApplicationUser>(userStore); var sonuc = userStore.Context.Set <ApplicationUser>().FirstOrDefault(x => x.Email == email); if (sonuc == null) { ViewBag.sonuc = "email adresiniz kayıtlı değil"; return(View()); } var randomPas = Guid.NewGuid().ToString().Replace("-", "").Substring(0, 6); await userStore.SetPasswordHashAsync(sonuc, userManager.PasswordHasher.HashPassword(randomPas)); await userStore.UpdateAsync(sonuc); await userStore.Context.SaveChangesAsync(); await MailSetting.SendMail(new MailModel() { To = sonuc.Email, Subject = "Şifreniz değiştirildi", Message = $"Merhaba {sonuc.Name} {sonuc.SurName} yeni şifreniz:<b>{randomPas}</b> olmuştur" }); ViewBag.sonuc = "Email adresinize yeni şifre gönderilmiştir"; return(View()); }
public async Task <ActionResult> Activation(string code) { var userStore = MembershipTools.NewUserStore(); var userManager = new UserManager <ApplicationUser>(userStore); var sonuc = userStore.Context.Set <ApplicationUser>().FirstOrDefault(x => x.ActivationCode == code); if (sonuc == null) { ViewBag.sonuc = "Aktivasyon işlemi başarısız"; return(View()); } sonuc.EmailConfirmed = true; await userStore.UpdateAsync(sonuc); await userStore.Context.SaveChangesAsync(); userManager.RemoveFromRole(sonuc.Id, "Passive"); userManager.AddToRole(sonuc.Id, "User"); ViewBag.sonuc = $"Merhaba{sonuc.Name} {sonuc.SurName} kayıt aktivaston işleminiz başarılı olmuştur."; await MailSetting.SendMail(new MailModel() { To = sonuc.Email, Message = ViewBag.sonuc.ToString(), Subject = "Aktivasyon", Bcc = "*****@*****.**" }); return(View()); }
public async Task <ActionResult> Register(RegisterViewModel model) { //kayıt olmadan önce kontrol ediliyor if (!ModelState.IsValid) { return(View(model)); } var userManager = MembershipTools.NewUserManager(); var checkUser = userManager.FindByName(model.UserName); if (checkUser != null) { ModelState.AddModelError(string.Empty, "Bu kullanıcı zaten kayıtlı!"); return(View(model)); } checkUser = userManager.FindByEmail(model.Email); if (checkUser != null) { ModelState.AddModelError(string.Empty, "Bu eposta adersi kullanılmakta"); return(View(model)); } // register işlemi yapılır var activationCode = Guid.NewGuid().ToString(); ApplicationUser user = new ApplicationUser() { Name = model.Name, SurName = model.SurName, Email = model.Email, UserName = model.UserName, ActivationCode = activationCode }; var response = userManager.Create(user, model.Password); if (response.Succeeded) { string siteUrl = Request.Url.Scheme + Uri.SchemeDelimiter + Request.Url.Host + (Request.Url.IsDefaultPort ? "" : ":" + Request.Url.Port); if (userManager.Users.Count() == 1) { userManager.AddToRole(user.Id, "Admin"); await MailSetting.SendMail(new MailModel { To = user.Email, Subject = "Hoşgeldin Sahip", Message = "Sitemizi yöneteceğin için çok mutluyuz ^^" }); } else { userManager.AddToRole(user.Id, "Passive"); await MailSetting.SendMail(new MailModel { To = user.Email, Subject = "Personel Yönetimi - Aktivasyon", Message = $"Merhaba {user.Name} {user.SurName} <br/>Hesabınızı aktifleştirmek için <a href='{siteUrl}/Account/Activation?code={activationCode}'>Aktivasyon Kodu</a>" }); } return(RedirectToAction("Login", "Account")); } else { ModelState.AddModelError(string.Empty, "Kayıt İşleminde bir hata oluştu"); return(View(model)); } }
public async Task <ActionResult> Profile(ProfilePasswordViewModel model) { if (!ModelState.IsValid) { return(View(model)); } try { var userStore = MembershipTools.NewUserStore(); var userManager = new UserManager <ApplicationUser>(userStore); var user = userManager.FindById(model.profileModel.Id); user.Name = model.profileModel.Name; user.SurName = model.profileModel.SurName; if (user.Email != model.profileModel.Email) { user.Email = model.profileModel.Email; if (HttpContext.User.IsInRole("Admin")) { userManager.RemoveFromRole(user.Id, "Admin"); } else if (HttpContext.User.IsInRole("User")) { userManager.RemoveFromRole(user.Id, "User"); } userManager.AddToRole(user.Id, "Passive"); user.ActivationCode = Guid.NewGuid().ToString().Replace("-", ""); string siteUrl = Request.Url.Scheme + Uri.SchemeDelimiter + Request.Url.Host + (Request.Url.IsDefaultPort ? "" : ":" + Request.Url.Port); await MailSetting.SendMail(new MailModel() { To = user.Email, Subject = "Personel Yönetimi - Aktivasyon", Message = $"Merhaba {user.Name} {user.SurName} email adresinizi değiştirdiğiniz için tekrar aktive etmelisiniz: <a href='{siteUrl}/Account/Activation?code={user.ActivationCode}'>Aktivasyon Kodu</a>", }); } await userStore.UpdateAsync(user); await userStore.Context.SaveChangesAsync(); var model1 = new ProfilePasswordViewModel() { profileModel = new ProfileViewModel { Id = user.Id, Email = user.Email, Name = user.Name, SurName = user.SurName, UserName = user.UserName } }; ViewBag.sonuc = "Bilgileriniz güncellenmiştir"; return(View(model1)); } catch (Exception ex) { ViewBag.sonuc = ex.Message; return(View(model)); } }