public ActionResult DeleteMediaFile(int id)
        {
            UserMedium userMedium = _context.UserMedia.Find(id);

            _context.UserMedia.Remove(userMedium);
            _context.SaveChanges();
            string BlobNameToDelete = userMedium.MediaUrl.Split('/').Last();

            utility.DeleteBlob(BlobNameToDelete, "imagecontainer");            // container name
            return(RedirectToAction("MediaFileUpload"));                       // return page
        }
        public ValidationResult Validate(Uri url, UserMedium usermedium = UserMedium.All, Profile profile = Profile.Css2, Language language = Language.English,
            WarningLevel warningLevel = WarningLevel.Two, bool vextwarning = false)
        {
            if (url == null)
            {
                throw new ArgumentException("url cannot be null");
            }

            var jigsawUrl =
                string.Format("{0}?uri={1}&profile={2}&usermedium={3}&warning={4}&lang={5}&vextwarning={6}&output=soap12",
                              ValidatorUrl, url, ToParam(profile), ToParam(usermedium), ToParam(warningLevel), ToParam(language), vextwarning);

            var document = XDocument.Load(jigsawUrl);

            return new ValidationResult
                {
                    Errors = ParseIssues(document, "errors", "errorlist", "error", Severity.Error),
                    Warnings = ParseIssues(document, "warnings", "warninglist", "warning", Severity.Warning),
                };
        }
        public ActionResult UploadMediaFile(IFormFile file)
        {
            if (file != null)
            {
                string ContainerName = "imagecontainer";            // container name.
                string fileName      = Path.GetFileName(file.FileName);
                Stream imageStream   = file.OpenReadStream();
                var    result        = utility.UploadBlobAsync(fileName, ContainerName, (IFormFile)file);
                if (result != null)
                {
                    string     loggedInUserId = _userManager.GetUserId(User);
                    UserMedium usermedium     = new UserMedium();

                    try
                    {
                        usermedium.UserId        = loggedInUserId;                          //If the User ID is an int then, Int32.Parse(loggedInUserId);
                        usermedium.MediaUrl      = result.Result.Uri.ToString();            // to insert the url of the blob to the database
                        usermedium.MediaFileName = result.Result.Name;                      // to insert the media file name to the database
                        usermedium.MediaFileType = result.Result.Name.Split('.').Last();    // to insert the media file type to the database
                    }
                    catch
                    {
                        Console.WriteLine($"Unable to parse '{loggedInUserId}'");
                    }

                    _context.UserMedia.Add(usermedium);
                    _context.SaveChanges();
                    return(RedirectToAction("MediaFileUpload"));
                }
                else
                {
                    return(RedirectToAction("MediaFileUpload"));
                }
            }
            else
            {
                return(RedirectToAction("MediaFileUpload"));
            }
        }
 private string ToParam(UserMedium usermedium)
 {
     switch (usermedium)
     {
         case UserMedium.All:
             return "all";
         case UserMedium.Braille:
             return "braille";
         case UserMedium.Embossed:
             return "embossed";
         case UserMedium.Handheld:
             return "handheld";
         case UserMedium.Print:
             return "print";
         case UserMedium.Projection:
             return "projection";
         case UserMedium.Screen:
             return "screen";
         case UserMedium.Speech:
             return "speech";
         case UserMedium.Tty:
             return "tty";
         case UserMedium.Tv:
             return "tv";
         default:
             throw new ArgumentOutOfRangeException("usermedium");
     }
 }