예제 #1
0
 public ReturnValue AddOrEdit(LoginUser entity)
 {
     ReturnValue retValue = new ReturnValue();
     using (LoginUserDal dal = new LoginUserDal())
     {
         if (entity.ID < 1)//添加
         {
             if (dal.Add(entity))
             {
                 retValue.IsExists = true;
                 retValue.Message = "添加用户成功";
             }
             else
             {
                 retValue.IsExists = false;
                 retValue.Message = "添加用户失败";
             }
         }
         else//修改
         {
             if (dal.Modify(entity))
             {
                 retValue.IsExists = true;
                 retValue.Message = "修改用户成功";
             }
             else
             {
                 retValue.IsExists = false;
                 retValue.Message = "修改用户失败";
             }
         }
     }
     return retValue;
 }
예제 #2
0
        public ActionResult DoModify()
        {
            LoginUser login = new LoginUser();
            login.ID = CodeNote.Common.ConvertWrap.ToInt(Request["userid"]);
            login.Email = Request["email"];
            login.LoginName = Request["loginname"];
            if (string.IsNullOrEmpty(Request["oldpassword"]))
            {
                login.PassWord = Request["oneoldpassword"];
            }
            else
            {
                login.PassWord = CodeNote.Common.Encryption.MD5(Request["oldpassword"]);
            }
            login.Type = CodeNote.Common.ConvertWrap.ToInt(Request["usertype"]);
            login.CreateDate = DateTime.Now;
            if (login.Type == (int)Constans.UserType.NoReg)
            {
                login.Type = (int)Constans.UserType.User;
            }

            string newPassWord = Request["newpassword"];
            string newpwssword2 = Request["newpwssword2"];
            if (newPassWord != newpwssword2)
            {
                return View("Result", new ReturnMessage("秘密设置错误", "两次输入密码不相同! "));
            }
            if (login.ID != CurUser.ID)
            {
                return View("Result", new ReturnMessage("验证失败", "对不起,请不要弄我了,我伤不起的! "));
            }

            if (!string.IsNullOrEmpty(login.PassWord))
            {
                if (login.PassWord != CurUser.PassWord)
                {
                    return View("Result", new ReturnMessage("验证失败", "对不起,密码输入错误!<br/><p><a href=\"\">忘记密码</a></p> "));
                }
            }

            bool isChangePwd = false;
            if (!string.IsNullOrEmpty(login.PassWord))
            {
                if (!string.IsNullOrEmpty(newPassWord) && newPassWord != login.PassWord)
                {
                    login.PassWord = CodeNote.Common.Encryption.MD5(newPassWord);
                    isChangePwd = true;
                }
            }

            ReturnValue retValue = new ReturnValue();

            retValue = this.LoginUserMg.AddOrEdit(login);//修改用户信息

            if (retValue.IsExists && isChangePwd)
            {
                Antlr.StringTemplate.StringTemplate st = CodeNote.Common.TemplateWrap.GetSt("modify_pwd_email");

                if (st != null)
                {
                    st.SetAttribute("account", login.LoginName);
                    st.SetAttribute("newpwd", newPassWord);

                    CodeNote.Common.Net.Mail.EmailWrap.Default.Send(login.Email, login.LoginName + "修改密码提示 - Change Password.", st.ToString(), true);
                }
            }

            Account account = new Account();

            if (retValue.IsExists)
            {
                LoginUser temp = this.LoginUserMg.Get(login.Email);
                if (temp == null)
                {
                    temp = this.LoginUserMg.Get(login.LoginName);
                }
                Common.SessionWrap.Add(Web.Models.Constans.USER_SESSION_KEY, temp);//更新用户信息
                return RedirectToAction("Index", "Account");
            }
            else
            {
                return View("Result", new ReturnMessage("修改信息", "呵呵,这么莫名其妙,居然修改失败了!你好悲剧阿! 赶快祈求上帝把!"));
            }
        }
예제 #3
0
        /// <summary>
        /// 执行注册方法
        /// </summary>
        /// <returns></returns>
        public ActionResult DoReg(string email)
        {
            ReturnValue retValue = new ReturnValue();
            if (!CodeNote.Common.Validation.Email(email))
            {
                retValue.IsExists = false;
                retValue.Message = "电子邮件格式不正确";
                return View("Result", new ReturnMessage("参数错误", retValue.Message));
            }
            LoginUser entity = this.LoginUserMg.Get(email);

            if (entity != null && entity.Type != (int)Constans.UserType.NoReg)
            {
                retValue.IsExists = false;
                retValue.Message = "此用户已经注册";

                return View("Result", new ReturnMessage("注册错误", retValue.Message));
            }
            if (entity != null && entity.Type == (int)Constans.UserType.NoReg)
            {
                entity.PassWord = CodeNote.Common.Encryption.MD5(CodeNote.Common.IDentity.CreateNew().AddStr(10).StrID());
            }
            else
            {
                entity = new LoginUser();
                entity.LoginName = email;
                entity.Email = email;
                entity.PassWord = CodeNote.Common.Encryption.MD5(CodeNote.Common.IDentity.CreateNew().AddStr(10).StrID());
                entity.Type = (int)Constans.UserType.NoReg;//未完成注册的用户
                entity.CreateDate = DateTime.Now;
            }

            retValue = this.LoginUserMg.AddOrEdit(entity);//保存和修改信息

            if (retValue.IsExists)
            {
                string url = this.UrlPath("Valid", "User", new { email = email, valid = entity.PassWord, type = "reg" });
                Antlr.StringTemplate.StringTemplate st = CodeNote.Common.TemplateWrap.GetSt("register_email");
                if (st != null)
                {
                    st.SetAttribute("url", url);

                    if (CodeNote.Common.Net.Mail.EmailWrap.Default.Send(email, "注册验证 - Register validation", st.ToString(), true))
                    {
                        retValue.IsExists = true;
                        retValue.Message = "电子邮件发送成功";
                        retValue.PutValue("emailserver", CodeNote.Common.Net.Mail.EmailWrap.EmailServer(email));
                        return View("DoReg", retValue);
                    }
                    else
                    {
                        retValue.IsExists = false;
                        retValue.Message = "电子邮件发送错误,请重新发送";
                        return View("Result", new ReturnMessage("参数错误", retValue.Message));
                    }
                }
                else
                {
                    retValue.IsExists = false;
                    retValue.Message = "注册电子邮件未发送";
                    return View("Result", new ReturnMessage("服务器错误", retValue.Message));
                }
            }
            else
            {
                return View("Result", new ReturnMessage("服务器错误", retValue.Message));
            }
        }