public ActionResult DoChangeEmail(string validCode) { PublicUserModel user = this.GetLoginUser(); int status = 0; EmailEditValidCode item = ncBase.CurrentEntities.EmailEditValidCode.Where(e => e.Code == validCode && e.Status == 0 && e.UserId == user.UserID).OrderByDescending(e => e.AddTime).FirstOrDefault(); if (item.IsNoNull()) { PublicUser thisUser = ncBase.CurrentEntities.PublicUser.Where(u => u.UserID == user.UserID).FirstOrDefault(); if (thisUser.IsNoNull()) { thisUser.Email = item.NewEmail; item.Status = 1; ncBase.CurrentEntities.SaveChanges(); status = 1; } else { status = -100;//用户不存在 } } else { status = -99;//不是有效的邮箱验证 } ViewBag.status = status; return(View()); }
public JsonResult EditEmail(string email) { if (string.IsNullOrEmpty(email)) { return(Json(new { status = 1, msg = "邮箱不能为空" })); } PublicUser emailUser = ncBase.CurrentEntities.PublicUser.Where(u => u.Email == email).FirstOrDefault(); if (emailUser.IsNoNull()) { return(Json(new { status = 1, msg = "修改失败,该邮箱已被使用" })); } PublicUserModel user = this.GetLoginUser(); int userId = this.GetLoginUser().UserID; //#region 直接修改 //PublicUserModel user = this.GetLoginUser(); //int userId = this.GetLoginUser().UserID; //PublicUser loginUser = ncBase.CurrentEntities.PublicUser.Where(u => u.UserID == userId).FirstOrDefault(); //loginUser.Email = email; //ncBase.CurrentEntities.SaveChanges(); //#endregion #region 发送邮箱进行验证后,在验证页面进行修改 string md5Code = ZJB.Core.Utilities.StringUtility.ToMd5String(userId.ToString() + email + DateTime.Now.ToString()); EmailEditValidCode ValidRecord = ncBase.CurrentEntities.EmailEditValidCode.Where(e => e.UserId == userId).FirstOrDefault(); if (ValidRecord.IsNoNull()) { ValidRecord.NewEmail = email; ValidRecord.Status = 0; ValidRecord.AddTime = DateTime.Now; ValidRecord.Code = md5Code; ncBase.CurrentEntities.SaveChanges(); } else { EmailEditValidCode newValid = new EmailEditValidCode() { AddTime = DateTime.Now, Code = md5Code, NewEmail = email, Status = 0, UserId = userId, }; ncBase.CurrentEntities.EmailEditValidCode.AddObject(newValid); ncBase.CurrentEntities.SaveChanges(); } ZJB.Core.Utilities.EmailSender emailHelper = new EmailSender(); string title = "修改邮箱验证"; string url = "http://" + Request.Url.Host + "/User/DoChangeEmail" + "?validCode=" + md5Code; string updateUrl = "<a target='_blank' href=\"" + url + "\">前往修改</a>"; string content = string.Format(ConfigUtility.GetValue("ChangeEamilConent"), user.Name, updateUrl); SendEmail(title, content, email); #endregion return(Json(new { status = 0, msg = "邮箱验证已发送到您新的邮箱,请查收" })); }