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 }));
        }