Exemplo n.º 1
0
        public ActionResultVM SaveUserInfo(Domain.UserInfo mo)
        {
            var vm = new ActionResultVM();

            int uid = new Func.UserAuthAid(HttpContext).Get().UserId;

            using (var db = new ContextBase())
            {
                var usermo = db.UserInfo.Find(uid);

                //变更账号
                if (!string.IsNullOrWhiteSpace(mo.UserName) && usermo.UserNameChange != 1 && usermo.UserName != mo.UserName)
                {
                    //账号重复
                    if (db.UserInfo.Any(x => x.UserName == mo.UserName))
                    {
                        vm.Set(ARTag.exist);
                        vm.msg = "账号已经存在";

                        return(vm);
                    }
                    else
                    {
                        usermo.UserName       = mo.UserName;
                        usermo.UserNameChange = 1;
                    }
                }

                //变更邮箱
                if (mo.UserMail != usermo.UserMail)
                {
                    usermo.UserMailValid = 0;

                    //邮箱正则验证
                    if (!string.IsNullOrWhiteSpace(mo.UserMail))
                    {
                        if (!Fast.RegexTo.IsMail(mo.UserMail))
                        {
                            vm.Set(ARTag.invalid);
                            vm.msg = "邮箱格式有误";

                            return(vm);
                        }
                        else
                        {
                            if (db.UserInfo.Any(x => x.UserMail == mo.UserMail))
                            {
                                vm.Set(ARTag.exist);
                                vm.msg = "邮箱已经存在";

                                return(vm);
                            }
                        }
                    }
                }

                usermo.UserMail  = mo.UserMail;
                usermo.Nickname  = mo.Nickname;
                usermo.UserPhone = mo.UserPhone;
                usermo.UserUrl   = mo.UserUrl;

                db.UserInfo.Update(usermo);
                var num = db.SaveChanges();

                //更新授权信息
                new Func.UserAuthAid(HttpContext).Set(usermo);

                vm.Set(num > 0);
            };

            return(vm);
        }
Exemplo n.º 2
0
        public ActionResultVM SaveUserInfo(Domain.UserInfo mo)
        {
            var vm = new ActionResultVM();

            if (string.IsNullOrWhiteSpace(mo.Nickname))
            {
                vm.Set(ARTag.refuse);
                vm.Msg = "昵称不能为空";

                return(vm);
            }

            int uid = new Application.UserAuthService(HttpContext).Get().UserId;

            using (var db = new Data.ContextBase())
            {
                var usermo = db.UserInfo.Find(uid);

                //变更账号
                if (!string.IsNullOrWhiteSpace(mo.UserName) && usermo.UserNameChange != 1 && usermo.UserName != mo.UserName)
                {
                    //账号重复
                    if (db.UserInfo.Any(x => x.UserName == mo.UserName))
                    {
                        vm.Set(ARTag.exist);
                        vm.Msg = "账号已经存在";

                        return(vm);
                    }
                    else
                    {
                        usermo.UserName       = mo.UserName;
                        usermo.UserNameChange = 1;
                    }
                }

                //变更邮箱
                if (mo.UserMail != usermo.UserMail)
                {
                    usermo.UserMailValid = 0;

                    //邮箱正则验证
                    if (!string.IsNullOrWhiteSpace(mo.UserMail))
                    {
                        if (!Fast.ParsingTo.IsMail(mo.UserMail))
                        {
                            vm.Set(ARTag.invalid);
                            vm.Msg = "邮箱格式有误";

                            return(vm);
                        }
                        else
                        {
                            if (db.UserInfo.Any(x => x.UserMail == mo.UserMail))
                            {
                                vm.Set(ARTag.exist);
                                vm.Msg = "邮箱已经存在";

                                return(vm);
                            }
                        }
                    }
                }

                usermo.UserMail  = mo.UserMail;
                usermo.Nickname  = mo.Nickname;
                usermo.UserPhone = mo.UserPhone;
                usermo.UserUrl   = mo.UserUrl;

                db.UserInfo.Update(usermo);
                var num = db.SaveChanges();

                //更新授权信息
                using (var ac = new AccountController())
                {
                    ac.SetAuth(HttpContext, usermo, true);
                }

                vm.Set(num > 0);
            };

            return(vm);
        }