public void AddOrUpdate(Exclusivity exc, string appNo, string productNo) { ImporterCacheKeyApplication key = new ImporterCacheKeyApplication { AppNo = appNo, ProductNo = productNo }; Guid appId, drugId; if (AppToApp.TryGetValue(key, out appId) && AppToDrug.TryGetValue(key, out drugId)) { exc.Id = Guid.NewGuid(); exc.ApplicationId = appId; exc.DrugId = drugId; Exclusivities.Add(exc); } }
public void AddOrUpdate(Patent p, string appNo, string productNo) { ImporterCacheKeyApplication key = new ImporterCacheKeyApplication { AppNo = appNo, ProductNo = productNo }; Guid appId, drugId; if (AppToApp.TryGetValue(key, out appId) && AppToDrug.TryGetValue(key, out drugId)) { p.Id = Guid.NewGuid(); p.ApplicationId = appId; p.DrugId = drugId; Patents.Add(p); } }
public Guid AddOrUpdate(Drug d, Application app) { var drugKey = new ImporterCacheKeyDrug { Ingredient = d.Ingredient, DosageForm = d.DosageForm, DrugType = d.DrugType, Route = d.RouteOfAdmin }; Drug dMemory; Guid drugId; if (Drugs.TryGetValue(drugKey, out dMemory)) { dMemory.PharmaClassesText = dMemory.PharmaClassesText.Concat(d.PharmaClassesText).Distinct().ToList(); dMemory.PharmaClasses = dMemory.PharmaClasses.Concat( PharmaClasses.Where(x => d.PharmaClassesText.Any(y => y == x.Key)).Select(x => x.Value.Id).ToList() ).Distinct().ToList(); dMemory.Strengths = dMemory.Strengths.Concat(d.Strengths).Distinct().ToList(); dMemory.TradeNames = dMemory.TradeNames.Concat(d.TradeNames).Distinct().ToList(); if (dMemory.Schedule == null) { dMemory.Schedule = d.Schedule; } if (dMemory.StartMarketingDate != null && d.StartMarketingDate.HasValue && d.StartMarketingDate < dMemory.StartMarketingDate) { dMemory.StartMarketingDate = d.StartMarketingDate; } else { dMemory.StartMarketingDate = d.StartMarketingDate; } drugId = dMemory.Id; } else { d.Id = Guid.NewGuid(); drugId = d.Id; d.PharmaClasses = PharmaClasses.Where(x => d.PharmaClassesText.Any(y => y == x.Key)).Select(x => x.Value.Id).ToList(); Drugs.Add(drugKey, d); } if (app != null) { app.DrugId = drugId; ImporterCacheKeyApplication appKey = new ImporterCacheKeyApplication { AppNo = app.ApplicationNumber, ProductNo = app.ProductNumber }; if (!AppToDrug.ContainsKey(appKey)) { app.Id = Guid.NewGuid(); AppToDrug.Add(appKey, drugId); AppToApp.Add(appKey, app.Id); Apps.Add(app); } } return(drugId); }