private static async Task PopulateTargetSpecies(ExpiredProduct expiredProduct) { var tdoc = ""; // ReSharper disable once RedundantAssignment var tdocx = ""; // ReSharper disable once RedundantAssignment var tf = ""; var doc = expiredProduct.SPC_Link.EndsWith(".doc", StringComparison.InvariantCultureIgnoreCase); if (doc) { tf = Path.GetTempFileName(); tdoc = $"{tf}.doc"; File.Move(tf, tdoc); using (var fs = File.OpenWrite(tdoc)) { (await GetHttpStream(expiredProduct.SPC_Link)).CopyTo(fs); fs.Flush(); } tdocx = WordConverter.ConvertDocToDocx(tdoc); } else { tf = Path.GetTempFileName(); tdocx = $"{tf}.docx"; File.Move(tf, tdocx); using (var fs = File.OpenWrite(tdocx)) { (await GetHttpStream(expiredProduct.SPC_Link)).CopyTo(fs); } } using (var spcStream = File.Open(tdocx, FileMode.Open)) { var ts = SPCParser.GetTargetSpecies(spcStream); expiredProduct.TargetSpecies = ts; } if (!string.IsNullOrEmpty(tdoc) && File.Exists(tdoc)) { File.Delete(tdoc); } if (!string.IsNullOrEmpty(tdocx) && File.Exists(tdocx)) { File.Delete(tdocx); } PopulateStaticTypedTargetSpecies(expiredProduct); }
public void TestBTVpur() { var ep = new ExpiredProduct { Name = "btvpur alsap 8, suspension for injection", SPC_Link = "ema.europa.eu" }; var spc = VMDPIDFactory.GetSpc(ep).Result; var sp = SPCParser.GetTargetSpeciesFromPdf(spc); Assert.IsNotNull(sp, "Nothing returned"); Assert.IsTrue(sp.Length == 2, $"Returned {sp.Length} species instead of 2"); Assert.IsTrue(sp.Intersect(new[] { "sheep", "cattle" }).Count() == 2, $"Returned {string.Join(',', sp)} instead of cattle,sheep"); }
public void TestPurevaxRcch() { var ep = new ExpiredProduct { Name = "purevax rcch", SPC_Link = "ema.europa.eu" }; var spc = VMDPIDFactory.GetSpc(ep).Result; var sp = SPCParser.GetTargetSpeciesFromPdf(spc); Assert.IsNotNull(sp, "Nothing returned"); Assert.IsTrue(sp.Length == 1, $"Returned {sp.Length} species instead of 1"); Assert.IsTrue(sp.Intersect(new[] { "cats" }).Count() == 1, $"Returned {string.Join(',', sp)} instead of cats"); }
public IEnumerable <ExpiredProduct> EnumerateProducts() { var dl = new TDataLoader(); IEnumerable <object[]> data; data = dl.EnumerateData(); return(data.Skip(1).Select(obj => { DateTime dateTime; DateTime.TryParse(obj[2].ToString(), out dateTime); var tup = new ExpiredProduct(obj[0].ToString(), obj[1].ToString(), dateTime); return tup; })); }