예제 #1
0
        public async Task <IActionResult> ChangeImage()
        {
            User currentUser = await userService.GetCurrentUserAsync(HttpContext);

            ChangeImageViewModel model = new ChangeImageViewModel {
                UserId = currentUser.Id
            };

            return(View(model));
        }
예제 #2
0
        // Prevents unnecessary errors to just keep it async

#pragma warning disable CS1998 // Async method lacks 'await' operators and will run synchronously
        public async Task <IViewComponentResult> InvokeAsync(bool isGroup, string groupName)
#pragma warning restore CS1998 // Async method lacks 'await' operators and will run synchronously
        {
            ChangeImageViewModel viewModel = new ChangeImageViewModel();

            if (isGroup)
            {
                viewModel.IsGroup   = isGroup;
                viewModel.GroupName = groupName;
            }
            return(View(viewModel));
        }
예제 #3
0
        public async Task <IActionResult> ChangeImage(ChangeImageViewModel model)
        {
            User currentUser = await userService.GetCurrentUserAsync(HttpContext);

            if (ModelState.IsValid && (model.UserId == currentUser.Id || User.IsInRole("Admin")))
            {
                var newImage = await fileService.AddImage(model.Image);

                var result = await profileService.ChangeImage(model.UserId, newImage);

                if (result.Succedeed)
                {
                    return(RedirectToAction("Index"));
                }
            }

            return(BadRequest());
        }