public async Task <IActionResult> UpdateProviderProfile()
        {
            var loggedUser = await _userManager.FindByNameAsync(User.Identity.Name);

            ProviderProfile loggedProfile = _providerProfileRepo.GetSingle(p => p.UserId == loggedUser.Id);

            UpdateProviderProfileVM vm = new UpdateProviderProfileVM();

            if (loggedProfile != null)
            {
                vm.PhoneNumber = loggedProfile.PhoneNumber;
            }
            return(View(vm));
        }
        public async Task <IActionResult> UpdateProviderProfile(UpdateProviderProfileVM vm)
        {
            if (ModelState.IsValid)
            {
                //get logged user info
                var loggedUser = await _userManager.FindByNameAsync(User.Identity.Name);

                //check if the profile already exist
                ProviderProfile loggedProfile = _providerProfileRepo.GetSingle(p => p.UserId == loggedUser.Id);

                //create or update the profile
                if (loggedProfile != null)
                {
                    loggedProfile.PhoneNumber = vm.PhoneNumber;
                    loggedUser.PhoneNumber    = vm.PhoneNumber;

                    //save changes to the database
                    _providerProfileRepo.Update(loggedProfile);
                    await _userManager.UpdateAsync(loggedUser);

                    ////update existing Packages For Name Changes
                    //IEnumerable<TravelPackage> list = _travelPackageRepo.Query(l => l.MyUserId == loggedUser.Id).ToList();
                    //foreach (var item in list)
                    //{
                    //    item.ProviderName = vm.CompanyName;
                    //    _travelPackageRepo.Update(item);
                    //}
                }
                else
                {
                    //create new profile
                    loggedProfile = new ProviderProfile
                    {
                        UserId      = loggedUser.Id,
                        PhoneNumber = loggedUser.PhoneNumber,
                    };
                    //save the new profile to database
                    _providerProfileRepo.Create(loggedProfile);
                }
                return(RedirectToAction("Index", "Home"));
            }
            return(View(vm));
        }