public async Task <IActionResult> Put(NewQuizViewModel quizBodyData, int id) { int currentUserId = User.Claims.GetUserId(); IActionResult imageHttpResponse = FileValidityChecker(quizBodyData); if (IActionResult.Equals(imageHttpResponse, Ok())) { return(imageHttpResponse); } string fileUrl; AzureBlobService blobService; try { blobService = new AzureBlobService(); await blobService.InitializeBlob(); var previousQuizState = quizRepository.GetQuizById(id); blobService.DeletePhoto(previousQuizState.PictureUrl); fileUrl = await blobService.UploadPhoto(quizBodyData.Files[0]); } catch (Exception) { return(BadRequest("Image could not be uploaded.")); } Quiz updatedQuiz = quizRepository.UpdateQuiz(new Quiz { Title = quizBodyData.Title, PictureUrl = fileUrl, UserId = currentUserId, Id = id }); if (updatedQuiz == null) { return(BadRequest("Quiz does not exist.")); } QuizViewModel quizVm = entityToVmMapper.Map(updatedQuiz); quizVm.PictureUrl = blobService.urlPath.AbsoluteUri.ToString() + "users/" + fileUrl; return(Ok(new { quizVm.Id, quizVm.Title, quizVm.PictureUrl })); }