Esempio n. 1
0
        public ActionResult Register(Model.UserInfo usr)
        {
            if (Session[SessionKey.Captcha] == null || Session[SessionKey.Captcha].ToString() != usr.Captcha)
            {
                ModelState.AddModelError("Captcha", "验证码不正确");
                return(View(usr));
            }
            if (ModelState.IsValid)
            {
                var isExistUserName = _uow.UserInfoService.GetQueryList(t => t.UserName == usr.UserName).Count() > 0;
                if (isExistUserName)
                {
                    ModelState.AddModelError("UserName", "用户名已使用");
                    return(View(usr));
                }
                //var isExistEmail = string.IsNullOrEmpty(usr.Email);
                var isExistEmail = !string.IsNullOrEmpty(usr.Email) && _uow.UserInfoService.GetQueryList(t => t.Email == usr.Email).Count() > 0;

                if (isExistEmail)
                {
                    ModelState.AddModelError("Email", string.Format("此邮箱已被注册:{0}", usr.Email));
                    return(View(usr));
                }

                string pwdplain = usr.Password;
                usr.RegFrom    = 1;
                usr.CreateTime = DateTime.Now;
                usr.UpdateTime = DateTime.Now;
                usr.Password   = DataEncryption.HashString(pwdplain);
                //sync to lottery
                var uid = new Ichari.Sync.UserSync().RegistToLottery(usr.UserName, pwdplain, usr.Email, usr.TrueName); //SyncUserToLottery(usr.UserName,pwdplain,usr.Email,usr.TrueName);
                usr.LotteryUserId = uid;
                _uow.UserInfoService.Add(usr);
                _uow.Commit();
                //Registration on both end successful, auto login
                var ckDomain = string.Format(".{0}", WebUtils.GetAppSettingValue(StaticKey.AkSiteDomainName));
                DataEncryption.SaveToCookies(DataEncryption.EncryptAES(usr.Id.ToString()), usr.UserName, uid, ckDomain, false);
                Session[SessionKey.User] = usr;
                if (Request.QueryString["r"] == "ClaimPrize")
                {
                    return(RedirectToAction("ClaimPrizeStep2", "Charity"));
                }
                return(RedirectToAction("UserInfo", "Account"));
            }

            return(View(usr));
        }
Esempio n. 2
0
        public ActionResult ChangePassword(Model.UserChangePassword ucp)
        {
            if (Session[SessionKey.User] == null)
            {
                return(RedirectToAction("Login", "Account", new { returnUrl = "" }));
            }

            Model.UserInfo usr     = (Model.UserInfo)Session[SessionKey.User];
            Model.UserInfo old_usr = _uow.UserInfoService.Get(o => o.Id == usr.Id);
            if (old_usr == null || old_usr.Id != usr.Id)
            {
                return(RedirectToAction("Error", "Home", "155"));
            }
            if (old_usr.Password != DataEncryption.HashString(ucp.CurrentPwd))
            {
                ModelState.AddModelError("CurrentPwd", "原密码不正确");
            }
            else
            {
                old_usr.Password   = DataEncryption.HashString(ucp.NewPassword);
                old_usr.UpdateTime = DateTime.Now;
                _uow.Commit();
                //Session.Abandon();
                //Session.RemoveAll();
                Session[SessionKey.User] = null;
                //同步修改彩票频道密码
                try
                {
                    var r = new Ichari.Sync.UserSync().UpdatePassword(old_usr.LotteryUserId, ucp.NewPassword);
                    _log.Error(string.Format("同步修改密码执行结果:{0}", r));
                }
                catch {
                    _log.Error(string.Format("同步修改密码失败,userId={0},lotteryUserId={1}", old_usr.Id, old_usr.LotteryUserId));
                }
                base.RenderTip("请重新登录");
                return(RedirectToAction("Login", new { m = "rspw" }));
            }

            return(View());
        }
Esempio n. 3
0
        public ActionResult ChangePassword(Model.UserChangePassword ucp)
        {
            if (Session[SessionKey.User] == null)
                return RedirectToAction("Login", "Account", new { returnUrl = "" });

            Model.UserInfo usr = (Model.UserInfo)Session[SessionKey.User];
            Model.UserInfo old_usr = _uow.UserInfoService.Get(o => o.Id == usr.Id);
            if (old_usr == null || old_usr.Id != usr.Id)
                return RedirectToAction("Error", "Home", "155");
            if (old_usr.Password != DataEncryption.HashString(ucp.CurrentPwd))
                ModelState.AddModelError("CurrentPwd", "原密码不正确");
            else
            {
                old_usr.Password = DataEncryption.HashString(ucp.NewPassword);
                old_usr.UpdateTime = DateTime.Now;
                _uow.Commit();
                //Session.Abandon();
                //Session.RemoveAll();
                Session[SessionKey.User] = null;
                //同步修改彩票频道密码
                try
                {
                    var r = new Ichari.Sync.UserSync().UpdatePassword(old_usr.LotteryUserId, ucp.NewPassword);
                    _log.Error(string.Format("同步修改密码执行结果:{0}",r));
                }
                catch {
                    _log.Error(string.Format("同步修改密码失败,userId={0},lotteryUserId={1}",old_usr.Id,old_usr.LotteryUserId));
                }
                base.RenderTip("请重新登录");
                return RedirectToAction("Login", new { m = "rspw" });
            }

            return View();
        }
Esempio n. 4
0
        public ActionResult Register(Model.UserInfo usr)
        {
            if (Session[SessionKey.Captcha] == null || Session[SessionKey.Captcha].ToString() != usr.Captcha)
            {
                ModelState.AddModelError("Captcha", "验证码不正确");
                return View(usr);
            }
            if (ModelState.IsValid)
            {
                var isExistUserName = _uow.UserInfoService.GetQueryList(t => t.UserName == usr.UserName).Count() > 0;
                if (isExistUserName) { 
                    ModelState.AddModelError("UserName", "用户名已使用");
                    return View(usr);
                }
                //var isExistEmail = string.IsNullOrEmpty(usr.Email);
                var isExistEmail = !string.IsNullOrEmpty(usr.Email) && _uow.UserInfoService.GetQueryList(t => t.Email == usr.Email).Count() > 0;
                
                if (isExistEmail) { 
                    ModelState.AddModelError("Email",string.Format("此邮箱已被注册:{0}",usr.Email));
                    return View(usr);
                }

                string pwdplain = usr.Password;
                usr.RegFrom = 1;
                usr.CreateTime = DateTime.Now;
                usr.UpdateTime = DateTime.Now;
                usr.Password = DataEncryption.HashString(pwdplain);
                //sync to lottery                   
                var uid = new Ichari.Sync.UserSync().RegistToLottery(usr.UserName, pwdplain, usr.Email, usr.TrueName); //SyncUserToLottery(usr.UserName,pwdplain,usr.Email,usr.TrueName);
                usr.LotteryUserId = uid;
                _uow.UserInfoService.Add(usr);
                _uow.Commit();
                //Registration on both end successful, auto login
                var ckDomain = string.Format(".{0}",WebUtils.GetAppSettingValue(StaticKey.AkSiteDomainName));
                DataEncryption.SaveToCookies(DataEncryption.EncryptAES(usr.Id.ToString()),usr.UserName, uid,ckDomain,false);
                Session[SessionKey.User] = usr;
                if (Request.QueryString["r"] == "ClaimPrize")
                {
                    return RedirectToAction("ClaimPrizeStep2", "Charity");
                }
                return RedirectToAction("UserInfo", "Account");
            }

            return View(usr);
        }