public ActionResult Manage(ManageModel manageModel) { if (ModelState.IsValid) { var userId = User.Identity.GetUserId(); var user = UserManager.FindById(userId); user.UserName = manageModel.UserName; user.PhoneNumber = manageModel.PhoneNumber; user.Email = manageModel.Email; UserManager.Update(user); SetAuditAndTaskInformation(user, manageModel); } return View(manageModel); }
/// <summary> /// This method sets the non editable fields on the Manage user screen. We need to set these fields when /// initially render the page as well as after a postback on the Manage screen. These are non editable fields and /// if not set after postback they will be null. /// </summary> /// <param name="user"></param> /// <param name="model"></param> private void SetAuditAndTaskInformation(ApplicationUser user, ManageModel model) { var earliestTodo = user.Todos.OrderBy(x => x.DueOn).First(x => !x.IsComplete); model.TaskCount = user.Todos.Count(); model.EarliestTask = earliestTodo.Description; model.DueOn = earliestTodo.DueOn.ToShortDateString(); model.AuditLogs = _userService.GetAuditForUser(user.Id); }
// // GET: /Account/Manage public ActionResult Manage() { var userId = User.Identity.GetUserId(); var user = UserManager.FindById(userId); var manageModel = new ManageModel() { UserName = user.UserName, Email = user.Email, PhoneNumber = user.PhoneNumber }; SetAuditAndTaskInformation(user, manageModel); return View(manageModel); }