Esempio n. 1
0
        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());
        }
Esempio n. 2
0
        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 = "邮箱验证已发送到您新的邮箱,请查收" }));
        }