Ejemplo n.º 1
0
 public void Add(CohortEnumLink link)
 {
     using (var dbContext = new MedialynxDbCohortEnumLinkContext()) {
         dbContext.CohortEnumLink.Add(link);
         dbContext.SaveChanges();
     }
 }
Ejemplo n.º 2
0
        public bool Remove(string cohortId)
        {
            Guid id = Utils.ToGuid(cohortId);

            using (var dbContext = new MedialynxDbCohortContext()) {
                if (id != Guid.Empty)
                {
                    string sid    = id.ToString("B");
                    Cohort cohort = dbContext.Cohorts.FirstOrDefault(c => c != null && c.Id == sid);
                    if (cohort != null)
                    {
                        dbContext.Cohorts.Remove(cohort);
                        dbContext.SaveChanges();

                        using (var dbContextLinks = new MedialynxDbCohortEnumLinkContext()) {
                            List <CohortEnumLink> links = dbContextLinks.CohortEnumLink.Where(link => link != null && link.CohortId == sid).ToList();
                            dbContextLinks.RemoveRange(links);
                            dbContextLinks.SaveChanges();
                        }
                    }
                    return(true);
                }
            }
            return(false);
        }
Ejemplo n.º 3
0
 public void RemoveRange(List <string> linkIds)
 {
     using (var dbContext = new MedialynxDbCohortEnumLinkContext()) {
         List <CohortEnumLink> linksToRemove = new List <CohortEnumLink>();
         foreach (string id in linkIds)
         {
             linksToRemove.Add(dbContext.CohortEnumLink.FirstOrDefault(link => link != null && link.Id == id));
         }
         dbContext.CohortEnumLink.RemoveRange(linksToRemove);
         dbContext.SaveChanges();
     }
 }
Ejemplo n.º 4
0
        public void Remove(string linkId)
        {
            List <CohortEnumLink> links = this.Get(linkId);

            if (links.Count > 0)
            {
                using (var dbContext = new MedialynxDbCohortEnumLinkContext()) {
                    dbContext.CohortEnumLink.Remove(links[0]);
                    dbContext.SaveChanges();
                }
            }
        }
Ejemplo n.º 5
0
 public void Update(CohortEnumLink link)
 {
     using (var dbContext = new MedialynxDbCohortEnumLinkContext()) {
         CohortEnumLink existsLink = dbContext.CohortEnumLink.FirstOrDefault(l => l != null && l.Id == link.Id);
         if (existsLink != null)
         {
             if (Utils.CopyPropertyValues <CohortEnumLink>(link, existsLink))
             {
                 dbContext.CohortEnumLink.Update(existsLink);
                 dbContext.SaveChanges();
             }
         }
     }
 }
Ejemplo n.º 6
0
        public void Generate(string cohortId)
        {
            List <CohortEnumLink> links = new List <CohortEnumLink>();

            using (var dbCohortContext = new MedialynxDbCohortEnumsContext()) {
                foreach (CohortEnums enumItem in dbCohortContext.CohortEnums)
                {
                    switch (enumItem.Id)
                    {
                    case CohortEnumsDictionary.DiseaseStates:
                        using (var dbDiseaseStatesContext = new MedialynxDbDiseaseStatesContext()) {
                            links.AddRange(ExistingOptionsAsLink <DiseaseStates>(new List <DiseaseStates>(dbDiseaseStatesContext.DiseaseStates), cohortId, enumItem.Id));
                        }
                        break;

                    case CohortEnumsDictionary.GeneticMatches:
                        using (var dbGeneticMatchesContext = new MedialynxDbGeneticMatchesContext()) {
                            links.AddRange(ExistingOptionsAsLink <GeneticMatches>(new List <GeneticMatches>(dbGeneticMatchesContext.GeneticMatches), cohortId, enumItem.Id));
                        }
                        break;

                    case CohortEnumsDictionary.Biomarkers:
                        using (var dbBiomarkersContext = new MedialynxDbBiomarkersContext()) {
                            links.AddRange(ExistingOptionsAsLink <Biomarkers>(new List <Biomarkers>(dbBiomarkersContext.Biomarkers), cohortId, enumItem.Id));
                        }
                        break;

                    case CohortEnumsDictionary.Demographics:
                        using (var dbDemographicsContext = new MedialynxDbDemographicsContext()) {
                            links.AddRange(ExistingOptionsAsLink <Demographics>(new List <Demographics>(dbDemographicsContext.Demographics), cohortId, enumItem.Id));
                        }
                        break;

                    case CohortEnumsDictionary.Ethnicitys:
                        using (var dbEthnicitysContext = new MedialynxDbEthnicitysContext()) {
                            links.AddRange(ExistingOptionsAsLink <Ethnicitys>(new List <Ethnicitys>(dbEthnicitysContext.Ethnicitys), cohortId, enumItem.Id));
                        }
                        break;

                    case CohortEnumsDictionary.StageOfDiseases:
                        using (var dbStageOfDiseasesContext = new MedialynxDbStageOfDiseasesContext()) {
                            links.AddRange(ExistingOptionsAsLink <StageOfDiseases>(new List <StageOfDiseases>(dbStageOfDiseasesContext.StageOfDiseases), cohortId, enumItem.Id));
                        }
                        break;

                    case CohortEnumsDictionary.Prognosis:
                        using (var dbPrognosisContext = new MedialynxDbPrognosisContext()) {
                            links.AddRange(ExistingOptionsAsLink <Prognosis>(new List <Prognosis>(dbPrognosisContext.Prognosis), cohortId, enumItem.Id));
                        }
                        break;

                    case CohortEnumsDictionary.PreviousTreatments:
                        using (var dbPreviousTreatmentsContext = new MedialynxDbPreviousTreatmentsContext()) {
                            links.AddRange(ExistingOptionsAsLink <PreviousTreatments>(new List <PreviousTreatments>(dbPreviousTreatmentsContext.PreviousTreatments), cohortId, enumItem.Id));
                        }
                        break;
                    }
                }

                using (var dbContext = new MedialynxDbCohortEnumLinkContext()) {
                    dbContext.CohortEnumLink.AddRange(links);
                    dbContext.SaveChanges();
                }
            }
        }