示例#1
0
        public ActionResult MemberProfile()
        {
            string Account = User.Identity.Name;

            MemberProfileVM model;

            using (Db db = new Db()) {
                // get user
                MemberDTO dto = db.Members.FirstOrDefault(x => x.Account == Account);

                model = new MemberProfileVM(dto);
            }

            return(View("MemberProfile", model));
        }
示例#2
0
        public ActionResult MemberProfile(MemberProfileVM model)
        {
            if (!ModelState.IsValid)
            {
                return(View("MemberProfile", model));
            }

            if (!string.IsNullOrWhiteSpace(model.Password))
            {
                if (!model.Password.Equals(model.ConfirmPassword))
                {
                    ModelState.AddModelError("", "密碼不符");
                    return(View("MemberProfile", model));
                }
            }

            using (Db db = new Db()) {
                string account = User.Identity.Name;

                // Check account is unique
                if (db.Members.Where(x => x.UID != model.UID).Any(x => x.Account == account))
                {
                    ModelState.AddModelError("", "帳號 " + model.Account + " 已存在!");
                    model.Account = "";
                    return(View("MemberProfile", model));
                }

                // Edit
                MemberDTO dto = db.Members.Find(model.UID);

                MemberFeatures passwordHash = new MemberFeatures();
                string         hashPassword = passwordHash.HashPassword(model.Password);

                dto.Name    = model.Name;
                dto.Email   = model.Email;
                dto.Account = model.Account;
                if (!string.IsNullOrWhiteSpace(model.Password))
                {
                    dto.Password = hashPassword;
                }

                db.SaveChanges();
            }

            return(Redirect("~/member/MemberProfile"));
        }