public async Task <IActionResult> UpdateCustProfile() { IdentityUser user = await _userManagerService.FindByNameAsync(User.Identity.Name); CustomerProfile profile = _custProfileDataService.GetSingle(s => s.UserId == user.Id); IEnumerable <Order> orderList = _orderDataService.Query(o => o.UserId == user.Id); AccountUpdateCustProfileViewModel vm = new AccountUpdateCustProfileViewModel { FirstName = profile.FirstName, LastName = profile.LastName, Phone = user.PhoneNumber, Address = profile.Address, Picture = profile.Picture, }; return(View(vm)); }
public async Task <IActionResult> UpdateCustProfile(AccountUpdateCustProfileViewModel vm, IFormFile file) { if (ModelState.IsValid) { IdentityUser user = await _userManagerService.FindByNameAsync(User.Identity.Name); CustomerProfile profile = _custProfileDataService.GetSingle(s => s.UserId == user.Id); profile.UserId = user.Id; profile.FirstName = vm.FirstName; profile.LastName = vm.LastName; profile.Phone = vm.Phone; profile.Address = vm.Address; //limit file type //if(file.Path.GetExtention != .jpg) if (file != null) { var serverPath = Path.Combine(_environment.WebRootPath, "uploads/custprofile"); Directory.CreateDirectory(Path.Combine(serverPath, User.Identity.Name)); string fileName = FileNameHelper.GetNameFormatted(Path.GetFileName(file.FileName)); using (var fileStream = new FileStream(Path.Combine(serverPath, User.Identity.Name, fileName), FileMode.Create)) { await file.CopyToAsync(fileStream); } profile.Picture = User.Identity.Name + "/" + fileName; } _custProfileDataService.Update(profile); //user.UserName = vm.UserName; //user.Email = vm.UserName; await _userManagerService.UpdateAsync(user); return(RedirectToAction("Index", "Home")); } return(View(vm)); }