Example #1
0
        private void Fixupuser(User previousValue, bool skipKeys = false)
        {
            if (IsDeserializing)
            {
                return;
            }

            if (previousValue != null && previousValue.cositeusers.Contains(this))
            {
                previousValue.cositeusers.Remove(this);
            }

            if (user != null)
            {
                if (!user.cositeusers.Contains(this))
                {
                    user.cositeusers.Add(this);
                }

                UserId = user.UserId;
            }
            else if (!skipKeys)
            {
                UserId = null;
            }

            if (ChangeTracker.ChangeTrackingEnabled)
            {
                if (ChangeTracker.OriginalValues.ContainsKey("user")
                    && (ChangeTracker.OriginalValues["user"] == user))
                {
                    ChangeTracker.OriginalValues.Remove("user");
                }
                else
                {
                    ChangeTracker.RecordOriginalValue("user", previousValue);
                }
                if (user != null && !user.ChangeTracker.ChangeTrackingEnabled)
                {
                    user.StartTracking();
                }
            }
        }
        private void FixupUser(User previousValue)
        {
            if (IsDeserializing)
            {
                return;
            }

            if (previousValue != null && ReferenceEquals(previousValue.CoSiteUser, this))
            {
                previousValue.CoSiteUser = null;
            }

            if (User != null)
            {
                User.CoSiteUser = this;
                CoSiteUserId = User.UserId;
            }

            if (ChangeTracker.ChangeTrackingEnabled)
            {
                if (ChangeTracker.OriginalValues.ContainsKey("User")
                    && (ChangeTracker.OriginalValues["User"] == User))
                {
                    ChangeTracker.OriginalValues.Remove("User");
                }
                else
                {
                    ChangeTracker.RecordOriginalValue("User", previousValue);
                }
                if (User != null && !User.ChangeTracker.ChangeTrackingEnabled)
                {
                    User.StartTracking();
                }
            }
        }
        public ActionResult Register(FormCollection collection)
        {
            string emailOrName = collection["emailOrName"];
            if (string.IsNullOrEmpty(emailOrName))
            {
                ViewBag.message = "邮箱或用户名不允许为空!";
                return View();
            }
            else
            {
                if (context.Users.Count(x => x.Name == emailOrName || x.Email == emailOrName)>0)
                {
                    ViewBag.message = "已存在该邮箱或用户名!";
                    return View();
                }

            }
            string password = collection["password"];
            string pwdConfirm = collection["pwdConfirm"];
            if (password.Length < 6 || pwdConfirm.Length < 6)
            {
                ViewBag.message = "密码不允许小于6位!";
                return View();
            }
            else
            {
                if (password != pwdConfirm)
                {
                    ViewBag.message = "两次输入的密码不一样!";
                    return View();
                }
                else
                {
                    User user = new User();
                    if (emailOrName.IndexOf("@") > 0)//输入的是邮箱
                    {
                        if (!CommomHelper.CheckEmail(emailOrName))
                        {
                            ViewBag.message = "输入邮箱格式不正确!";
                            return View();
                        }
                        else
                        {
                            user.UserNum = CommomHelper.GetRandomNum();
                            user.Email = emailOrName;
                            user.Password = password;
                            user.MainPictureUrl = "/image/default-portrait.jpg";
                            context.Users.AddObject(user);
                            context.SaveChanges();

                            //保存或更新cookie
                            cookie["UserId", true, false] = user.UserId+"";
                            //return Redirect("/Home/Index");
                            return Redirect("/LogoVotes/Index");
                        }
                    }
                    else//输入的是用户名
                    {
                        user.UserNum = CommomHelper.GetRandomNum();
                        user.Name = emailOrName;
                        user.Password = password;
                        user.MainPictureUrl = "/image/default-portrait.jpg";
                        context.Users.AddObject(user);
                        context.SaveChanges();

                        //保存或更新cookie
                        cookie["UserId", true, false] = user.UserId + "";
                        //return Redirect("/Home/Index");
                        return Redirect("/LogoVotes/Index");
                    }

                }
            }
        }