예제 #1
0
        public async Task <IActionResult> ChangeProfilePicture()
        {
            var user = await _userManager.GetUserAsync(User);

            if (user == null)
            {
                throw new ApplicationException($"Unable to load user with ID '{_userManager.GetUserId(User)}'.");
            }

            if (!await this._userManager.IsInRoleAsync(user, WebConstants.HairdresserRole))
            {
                return(RedirectToAction("Index", "Home"));
            }

            var model = new ChangeProfilePicture()
            {
                ProfilePictureContent = user.ProfilePicture,
                StatusMessage         = StatusMessage
            };

            return(View(model));
        }
예제 #2
0
        public async Task <IActionResult> ChangeProfilePicture(ChangeProfilePicture model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var user = await _userManager.GetUserAsync(User);

            if (user == null)
            {
                throw new ApplicationException($"Unable to load user with ID '{_userManager.GetUserId(User)}'.");
            }

            var uploadedPicture = this.pictureService.PictureToByteArray(model.ProfilePictureFile);

            await this.userService.ChangeProfilePicture(user.Id, uploadedPicture);

            model.ProfilePictureContent = uploadedPicture;

            StatusMessage = "Your profile picture has been changed.";

            return(View(model));
        }