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");
        }
Esempio n. 4
0
        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;
            }));
        }