public async Task <IActionResult> UpdateProvProfile(int id) { IdentityUser user = await _userManagerService.FindByNameAsync(User.Identity.Name); ProviderProfile profile = _provProfileDataService.GetSingle(s => s.UserId == user.Id); IEnumerable <Location> locationList = _locationDataService.GetAll(); IEnumerable <Package> packageList = _packageDataService.Query(p => p.UserId == user.Id); AccountUpdateProvProfileViewModel vm = new AccountUpdateProvProfileViewModel { //UserName = user.UserName, CompanyName = profile.CompanyName, Website = profile.Website, Phone = user.PhoneNumber, Address = profile.Address, CompanyLogo = profile.CompanyLogo, }; return(View(vm)); }
public async Task <IActionResult> UpdateProvProfile(AccountUpdateProvProfileViewModel vm, IFormFile file) { if (ModelState.IsValid) { IdentityUser user = await _userManagerService.FindByNameAsync(User.Identity.Name); ProviderProfile profile = _provProfileDataService.GetSingle(s => s.UserId == user.Id); profile.UserId = user.Id; profile.CompanyName = vm.CompanyName; profile.Website = vm.Website; profile.Phone = vm.Phone; profile.Address = vm.Address; if (file != null) { var serverPath = Path.Combine(_environment.WebRootPath, "uploads/provprofile"); 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.CompanyLogo = User.Identity.Name + "/" + fileName; } _provProfileDataService.Update(profile); //user.UserName = vm.UserName; //user.Email = vm.UserName; await _userManagerService.UpdateAsync(user); return(RedirectToAction("Index", "Home")); } return(View(vm)); }