Ejemplo n.º 1
0
        public void AddOrUpdate(Nadac n, string ndc)
        {
            Guid ndcId, drugId;

            if (NdcToDrug.TryGetValue(ndc, out drugId) && NdcToPackage.TryGetValue(ndc, out ndcId))
            {
                n.PackageId = ndcId;
                n.DrugId    = drugId;
                n.Id        = Guid.NewGuid();
                Nadacs.Add(n);
            }
        }
Ejemplo n.º 2
0
        public static async Task <int> Import(string baseDir, SiteConfig config)
        {
            string workDir = Path.Combine(baseDir, config.ShortName);

            Directory.CreateDirectory(workDir);

            //using (HttpClient httpClient = new HttpClient())
            //{
            //    HttpResponseMessage msg = await httpClient.GetAsync(new Uri(config.DownloadFiles[0]));
            //    using (StreamWriter sw = new StreamWriter(Path.Combine(workDir, "nadac.csv")))
            //    {
            //        await (msg.Content.CopyToAsync(sw.BaseStream));
            //        sw.Flush();
            //    }
            //}

            using (StreamReader sr = new StreamReader(Path.Combine(workDir, "nadac.csv")))
            {
                var csv = new CsvReader(sr);
                csv.Configuration.RegisterClassMap <NadacItemMap>();
                csv.Configuration.Delimiter = ",";
                var records = csv.GetRecords <NadacItem>();

                foreach (var rec in records)
                {
                    Nadac nadac = new Nadac
                    {
                        AsOfDate         = rec.AsOfDate,
                        ClassRateSetting = rec.ClassRateSetting,
                        CorrespondingGenericEffectiveDate = rec.CorrespondingGenericEffectiveDate,
                        CorrespondingGenericNadacPerUnit  = rec.CorrespondingGenericNadacPerUnit,
                        EffectiveDate = rec.EffectiveDate,
                        NadacPerUnit  = rec.NadacPerUnit,
                        Otc           = rec.Otc,
                        PharmaType    = rec.PharmaType,
                        PricingUnit   = rec.PricingUnit
                    };

                    string ndc = StringFunctions.ConvertToNdc11(rec.Ndc);
                    nadac.Ndc = ndc;

                    ImporterCache.Instance.AddOrUpdate(nadac, ndc);
                }
            }

            return(0);
        }