public async Task <IActionResult> EditPersonalDetails(int id) { var uid = User.FindFirst(ClaimTypes.NameIdentifier).Value; UserInfoDetailsModel model = await GetPersonalDetails(uid); return(View(model)); }
private async Task <UserInfoDetailsModel> GetPersonalDetails(string uid) { UserInfoDetailsModel model = new UserInfoDetailsModel { Id = uid }; model = await accountRepository.GetUserInfoAsync(model); return(model); }
public async Task <IActionResult> PersonalDetails() { var user = User.FindFirst(ClaimTypes.NameIdentifier); string uid = null; if (user != null) { uid = user.Value; } UserInfoDetailsModel model = await GetPersonalDetails(uid); return(View(model)); }
public async Task <UserInfoDetailsModel> GetUserInfoAsync(UserInfoDetailsModel model) { var result = await userManager.FindByIdAsync(model.Id); if (result != null) { model.FirstName = result.FirstName; model.LastName = result.LastName; model.UserName = result.UserName; model.DateOfBirth = result.DateOfBirth; model.Email = result.Email; model.Id = result.Id; model.Password = result.PasswordHash; model.ProfilePicture = result.ProfilePicture; model.PhoneNumber = result.PhoneNumber; return(model); } return(null); }
public async Task <IActionResult> EditPersonalDetails(UserInfoDetailsModel model) { var extensions = new List <string>(new string[] { "jpg", "jpeg", "png", "gif" }); if (Request.Form.Files.Count > 0) { IFormFile file = Request.Form.Files.FirstOrDefault(); if (file.Length < 0) { ModelState.AddModelError("ProfilePicture", "File cannot be empty."); } if (file.ContentType.IndexOf("image", StringComparison.OrdinalIgnoreCase) < 0) { ModelState.AddModelError("ProfilePicture", "This file is not an image"); } if (!extensions.Any(ext => file.ContentType.EndsWith(ext))) { ModelState.AddModelError("ProfilePicture", "This image must be in one of the following format: " + string.Join(",", extensions)); } if (ModelState.ErrorCount > 0) { return(View(model)); } else { using (var dataStream = new MemoryStream()) { await file.CopyToAsync(dataStream); model.ProfilePicture = dataStream.ToArray(); } } } var result = await accountRepository.SaveUserInfoAsync(model); if (result.Succeeded) { ViewBag.IsSuccess = true; return(RedirectToAction("PersonalDetails", "Account")); } return(View(model)); }
public async Task <IdentityResult> SaveUserInfoAsync(UserInfoDetailsModel model) { var u = await userManager.FindByIdAsync(model.Id); if (u == null) { return(null); } var user = new ApplicationUser() { FirstName = model.LastName, LastName = model.LastName, Email = model.Email, DateOfBirth = model.DateOfBirth, ProfilePicture = model.ProfilePicture }; var firstName = u.FirstName; var lastName = u.LastName; if (model.FirstName != firstName) { u.FirstName = model.FirstName; //await userManager.UpdateAsync(u); } if (model.LastName != lastName) { u.LastName = model.LastName; //await userManager.UpdateAsync(u); } if (model.Email != u.Email) { u.Email = model.Email; } if (model.DateOfBirth != u.DateOfBirth) { u.DateOfBirth = model.DateOfBirth; } if (model.PhoneNumber != u.PhoneNumber) { u.PhoneNumber = model.PhoneNumber; } if (model.ProfilePicture != u.ProfilePicture) { u.ProfilePicture = model.ProfilePicture; } //if (u.UserName != model.UserName) //{ // var userNameExists = await userManager.FindByNameAsync(model.UserName); // if (userNameExists != null) // { // ModelState.AddModelError("", "User name already taken. Select a different username."); // } // var setUserName = await userManager.SetUserNameAsync(user, model.UserName); // if (!setUserName.Succeeded) // { // ModelState.AddModelError("", "Unexpected error when trying to set user name."); // } // else // { // return await userManager.UpdateAsync(user); // } //} //else //{ // return await userManager.UpdateAsync(user); //} return(await userManager.UpdateAsync(u)); //return null; //if (u.FirstName != model.FirstName) //{ // u.FirstName = model.FirstName; //} //if (u.UserName != model.UserName) //{ // u.UserName = model.UserName; //} //var result = await userManager.UpdateAsync(user); //if (result.Succeeded) //{ //} //return result; ////ApplicationUser u = new ApplicationUser ////{ //// Id = model.Id, //// DateOfBirth = model.DateOfBirth, //// Email = model.Email, //// FirstName = model.LastName, //// LastName = model.LastName, //// UserName = model.UserName ////}; ////var user = await userManager.FindByIdAsync(model.Id); ////if (user != null) ////{ //// if (user.DateOfBirth != model.DateOfBirth) { //// user.DateOfBirth = model.DateOfBirth; //// } //// if (user.Email != model.Email) //// { //// user.Email = model.Email; //// } //// user.FirstName = model.LastName; //// user.LastName = model.LastName; //// user.UserName = model.UserName; //// ApplicationUser res = await userManager.UpdateAsync(u); //// if (res.su) //// { //// } ////} ////return null; //////if (model.LastName != user.LastName) //////{ ////// await userManager.UpdateAsync(u); //////} //////if (model.LastName != user.LastName) //////{ ////// await userManager.UpdateAsync(u); //////} ////return await userManager.UpdateAsync(u); }