示例#1
0
        public async Task <IActionResult> Edit(ProfileEditInputModel inputModel)
        {
            if (!ModelState.IsValid)
            {
                return(this.View());
            }

            await this.userService.Edit(inputModel.Id, inputModel.FullName);

            var userFromDb = await this.userService.GetById(inputModel.Id);

            List <ProfileItemViewModel> itemsSold = userFromDb.ItemsAuctioned.Select(item => new ProfileItemViewModel
            {
                Name    = item.Name,
                Picture = item.Picture
            }).ToList();

            var viewModel = new ProfileDetailsViewModel
            {
                Id             = userFromDb.Id,
                Username       = userFromDb.UserName,
                FullName       = userFromDb.FullName,
                ItemsAuctioned = itemsSold
            };

            return(this.View(BasicConstants.ProfileRoute, viewModel));
        }
        public async Task <IActionResult> Edit(ProfileEditInputModel profileBindingModel)
        {
            if (!ModelState.IsValid)
            {
                return(RedirectToAction("Edit"));
            }
            var profileId = _userManager.GetProfileId(User);

            if (profileBindingModel.CoverPictureFile != null)
            {
                var result = _imageService.UploadImage(profileBindingModel.CoverPictureFile, 450, 960);
                if (result.Success)
                {
                    await _profileService.UpdateCoverPicture(profileId, result.ImageUri);
                }
            }
            if (profileBindingModel.ProfilePictureFile != null)
            {
                var result = _imageService.UploadImage(profileBindingModel.ProfilePictureFile, 186, 186);
                if (result.Success)
                {
                    await _profileService.UpdateProfilePicture(profileId, result.ImageUri);
                }
            }
            await _profileService.UpdateProfileDescription(profileId, profileBindingModel.Description);

            return(RedirectToAction("Index"));
        }