public async Task <IActionResult> Photo(PhotoViewModel mediaFile)
        {
            try
            {
                if (mediaFile != null)
                {
                    var    file          = HttpContext.Request.Form.Files;
                    bool   uploadSuccess = false;
                    string uploadedUri   = null;
                    if (file.Count != 0)
                    {
                        string imgName   = Guid.NewGuid().ToString();
                        string extension = Path.GetExtension(file[0].FileName).ToLower();
                        if (extension == ".jpg" || extension == ".gif" || extension == ".webm" || extension == ".jpeg" || extension == ".png" || extension == ".mp4")
                        {
                            extension                    = extension.Substring(1);
                            mediaFile.ImageURL           = imgName + '.' + extension;
                            using var stream             = file[0].OpenReadStream();
                            (uploadSuccess, uploadedUri) = await UploadToBlob(mediaFile.ImageURL, stream, extension);

                            TempData["uploadedUri"] = uploadedUri;
                        }
                        else
                        {
                            mediaFile.ImageURL = null;
                        }
                    }
                    mediaDbContext.Portfolios.Add(mediaFile);
                    mediaDbContext.SaveChanges();
                }
                return(RedirectToAction("photo", "portfolio"));
            }
            catch (Exception ex)
            {
                ViewData["message"] = ex.Message;
                ViewData["trace"]   = ex.StackTrace;
                return(View("Error"));
            }
        }