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