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