private bool SaveDocument(HttpPostedFileBase file, int leagueId) { string ext = Path.GetExtension(file.FileName).ToLower(); if (ext != ".pdf") { return(false); } var doc = leagueRepo.GetTermsDoc(leagueId); if (doc == null) { doc = new LeaguesDoc { LeagueId = leagueId }; leagueRepo.CreateDoc(doc); } doc.FileName = file.FileName; byte[] docData; using (var reader = new BinaryReader(file.InputStream)) { docData = reader.ReadBytes(file.ContentLength); } var req = new MetascanHelper.MetadataRequest(Guid.NewGuid().ToString(), file.FileName, docData, MetascanHelper.MetaScanAction.PostFileToMetaScan ); string dataid = req.PostFileForScanning(); MetaScanScanStatus metaScanStatus; req.CheckFileScan(dataid, out metaScanStatus); int tries = 3; while (metaScanStatus == MetaScanScanStatus.GeneralError && dataid != "" && tries > 0) { tries--; System.Threading.Thread.Sleep(2000); req.CheckFileScan(dataid, out metaScanStatus); } if (metaScanStatus == MetaScanScanStatus.Valid) { doc.DocFile = docData; leagueRepo.Save(); return(true); } return(false); }
public void CreateDoc(LeaguesDoc doc) { db.LeaguesDocs.Add(doc); }