public ActionResult Upload(SubtitlesFileUploadViewModel form) { try { // parse subtitles string finResult = new StreamReader(form.FinnishSubtitleFile.InputStream, Encoding.GetEncoding(1250)).ReadToEnd(); SubtitleList finSubList = srtToSubtitleList(finResult); string engResult = new StreamReader(form.EnglishSubtitleFile.InputStream, Encoding.GetEncoding(1250)).ReadToEnd(); SubtitleList enSubList = srtToSubtitleList(engResult); finSubList.CompareTo(enSubList); // send to 'compare' SubtitleCompareVM vm = new SubtitleCompareVM(); vm.leftList = finSubList; vm.rightList = enSubList; string id = SaveSubtitleFiles(form); return(RedirectToAction("Compare", new { controller = "Subtitles", action = "Compare", id = id })); } catch (Exception e) { Debug.WriteLine(e.Message); return(HttpNotFound(e.Message)); } }
private string SaveSubtitleFiles(SubtitlesFileUploadViewModel form) { HttpPostedFileBase fiFile = form.FinnishSubtitleFile; HttpPostedFileBase enFile = form.EnglishSubtitleFile; string fiFullPath = Path.Combine(Server.MapPath(FILE_PATH), fiFile.FileName); string enFullPath = Path.Combine(Server.MapPath(FILE_PATH), enFile.FileName); fiFile.SaveAs(fiFullPath); enFile.SaveAs(enFullPath); SubtitleFile fiSubFile = new SubtitleFile(); fiSubFile.Filename = fiFile.FileName; fiSubFile.LanguageID = FI; int fiID = (int)fiSubFile.Insert(); SubtitleFile enSubFile = new SubtitleFile(); enSubFile.Filename = enFile.FileName; enSubFile.LanguageID = EN; int enID = (int)enSubFile.Insert(); string subLink = ""; { subLink = RandomString(5); } while (SubtitleCompare.Exists("WHERE Link=@0", subLink)) { ; } SubtitleCompare compare = new SubtitleCompare(); compare.Link = subLink; compare.SubtitleFileA = Math.Min(fiID, enID); compare.SubtitleFileB = Math.Max(fiID, enID); compare.Title = "Title"; compare.Insert(); return(subLink); }