public async Task <IActionResult> Manage(string Id)
        {
            var model = new ManageAccountVM();

            model.ApplicationUser = await this._userManager.FindByIdAsync(Id);

            return(View(model));
        }
        public async Task <IActionResult> ChangeProfilePhoto(ManageAccountVM vm)
        {
            var userId = this._userSessionService.GetCurrentUserID();
            var user   = await this._userManager.FindByIdAsync(userId);

            var newPhotoPath = this._photoFileProcessor.FileProcessor.ChangePhoto(user.PhotoPath, vm.Photo);

            user.PhotoPath = newPhotoPath;
            var updateResult = await this._userManager.UpdateAsync(user);

            if (updateResult.Succeeded)
            {
                return(RedirectToAction("Manage", "Account", new { Id = userId }));
            }

            return(View(vm));
        }