public ActionResult RecoverPassword(RecoverPasswordVm data) { try { using (_entities) { if (!ModelState.IsValid) { return(View(data)); } //Check that email address is exist var userInfo = _entities.UserMasters.FirstOrDefault(s => s.Email == data.Email.Trim()); if (userInfo != null) { //Generate and save token var randomStringGenerator = new Utilities.RandomStringGenerator(); userInfo.Tokens = randomStringGenerator.GetRandomString(64, Utilities.RandomStringGenerator.AlphanumericCaps.ToCharArray()); userInfo.TokensGenerated = DateTime.Now; _entities.Entry(userInfo); _entities.SaveChanges(); //Send mail HERE var replacement = new Dictionary <string, string> { { "#name#", userInfo.Name }, { "#link#", BasicProperty.RecoverPasswordLink + userInfo.Tokens } }; //Sent email from HERE var isEailSent = SendEmail.Templete(replacement, data.Email, (int)EnumList.EmailTemplete.ForgotPassword); if (isEailSent) { TempData["Success"] = "Please check your mailbox."; } else { TempData["Error"] = "Unable to send mail to your mail box."; } } else { TempData["Error"] = "This email is not registered with us"; } return(View(data)); } } catch (Exception e) { TempData["Error"] = e.Message; throw; } }
public async Task <ActionResult> Create(UserMaster data) { using (_entities) { if (data.UserMasterId > 0) { var userMaster = await _entities.UserMasters.FindAsync(data.UserMasterId); if (userMaster != null) { //Update code HERE userMaster.Name = data.Name; userMaster.Email = data.Email; userMaster.RoleMasterId = data.RoleMasterId; userMaster.Mobile = data.Mobile; userMaster.CompanyName = data.CompanyName; userMaster.SkypeId = data.SkypeId; userMaster.CreatedBy = Convert.ToInt64(CookieHelper.GetCookie(CookieName.UserMasterId)); userMaster.IsActive = true; userMaster.IsDelete = false; userMaster.CreatedDate = DateTime.Now; _entities.Entry(userMaster).State = EntityState.Modified; await _entities.SaveChangesAsync(); TempData["Success"] = "User details updated successfully"; } else { return(RedirectToAction("Create")); } } else { //Add code HERE var randomStringGenerator = new Utilities.RandomStringGenerator(); //var password = randomStringGenerator.GetRandomString(6, // Utilities.RandomStringGenerator.AlphanumericCaps.ToCharArray()); var password = "******"; //Create HASH & SALT var salt = Utilities.GenerateSalt(32); var hash = Utilities.GenerateHash(password, data.Email.Trim(), salt); data.CreatedBy = Convert.ToInt64(CookieHelper.GetCookie(CookieName.UserMasterId)); data.IsActive = true; data.IsDelete = false; data.Salt = salt; data.Hash = hash; data.CreatedDate = DateTime.Now; _entities.UserMasters.Add(data); await _entities.SaveChangesAsync(); //Todo: Send Password Code HERE //Send mail HERE var replacement = new Dictionary <string, string> { { "#name#", data.Name }, { "#password#", password } }; //Sent email from HERE var isEailSent = SendEmail.Templete(replacement, data.Email, (int)EnumList.EmailTemplete.Welcome); TempData["Success"] = "User details added successfully"; } return(RedirectToAction("List")); } }