コード例 #1
0
        public async Task UpdateUserProfileAsync(VeganEditProfileVM viewModel)
        {
            // Hämta den inloggade användarens ID (från auth-cookie)
            string userId = userManager.GetUserId(accessor.HttpContext.User);

            // Hämta en användare baserat på ID:
            VeganIdentityUser user  =  await userManager.FindByIdAsync(userId);


            // Hämta bild
            var fileName = Path.GetFileName(viewModel.PictureURL.FileName);
            var filePath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot\\uploads", fileName);

            using (var fileStream = new FileStream(filePath, FileMode.Create))
            {
                await viewModel.PictureURL.CopyToAsync(fileStream);
            }

            // Uppdatera en befintlig användare:
            user.UserName    = viewModel.UserName;
            user.Description = viewModel.Description;
            user.PictureUrl  = viewModel.PictureURL.FileName;

            await userManager.UpdateAsync(user);
        }
コード例 #2
0
        public async Task <VeganEditProfileVM> GetUserAsync()
        {
            // Hämta den inloggade användarens ID (från auth-cookie)
            string userId = userManager.GetUserId(accessor.HttpContext.User);

            // Hämta en användare baserat på ID:
            VeganIdentityUser user = await userManager.FindByIdAsync(userId);


            VeganEditProfileVM userVM = new VeganEditProfileVM()
            {
                UserName    = user.UserName,
                Description = user.Description,
            };

            return(userVM);
        }
コード例 #3
0
        public async Task <IActionResult> EditProfile(VeganEditProfileVM viewModel)
        {
            if (viewModel.PictureURL?.Length > 0)
            {
                // IHostingEnvironment was injected into the controller
                var filePath = Path.Combine(_Hostenv.WebRootPath,
                                            "Uploads", viewModel.PictureURL.FileName);

                // Save file to disk
                using (var fileStream = new FileStream(filePath, FileMode.Create))
                {
                    viewModel.PictureURL.CopyTo(fileStream);
                }
            }

            if (!ModelState.IsValid)
            {
                return(View(viewModel));
            }

            await service.UpdateUserProfileAsync(viewModel);

            return(RedirectToAction(nameof(PostedRecipes)));
        }