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)); }
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")); }