示例#1
0
 public DrugBank EntityToModel(DUG_DRUG entity)
 {
     if (entity != null)
     {
         var model = new DrugBank()
         {
             Id          = entity.ID,
             DrugBankId  = entity.DRUGBANKID,
             Name        = entity.NAME,
             Description = entity.DESCRIPTION,
             CreateTime  = entity.CREATETIME
                           //public DateTime? UpdateTime { get; set; }
                           //public string DirectParent { get; set; }
                           //public string SuperClass { get; set; }
                           //public string Indication { get; set; }
                           //public string Pharmacodynamics { get; set; }
                           //public string MechanismOfAction { get; set; }
                           //public string Toxicity { get; set; }
                           //public string Metabolism { get; set; }
                           //public string Absorption { get; set; }
                           //public string ProteinBinding { get; set; }
         };
         return(model);
     }
     return(null);
 }
示例#2
0
        /// <summary>
        /// 获取药典基因信息
        /// </summary>
        /// <param name="dbId"></param>
        /// <param name="drugName"></param>
        /// <returns></returns>
        public IList <DrugBank> GetDrugGeneInfo(string dbId)
        {
            var drugbankId = context.DUG_CNDRUG.Where(p => p.ID == dbId).FirstOrDefault().DRUGBANKID;



            List <DrugBank> drugList = new List <DrugBank>();

            context.DUG_DRUG.Where(u => u.DRUGBANKID == drugbankId).ToList().ForEach(p => drugList.Add(EntityToModel(p)));

            if (drugList.Count == 1)
            {
                foreach (var drugModel in drugList)
                {
                    DrugBank dbModel = drugList[0];

                    //1.加载转运酶信息
                    context.DUG_TRANSPORTERS.Where(u => u.DRUGBANKID == dbModel.DrugBankId)
                    .ToList()
                    .ForEach(p => dbModel.Transporters.Add(new Transporters()
                    {
                        Id             = p.ID,
                        DrugBankId     = p.DRUGBANKID,
                        TransportersId = p.TRANSPORTERSID,
                        Name           = p.NAME,
                        Organism       = p.ORGANISM
                    }));

                    dbModel.Transporters.ToList().ForEach(p =>
                                                          context.DUG_TRANSPORTERACTIONS.Where(u => u.ITEMID == p.Id).ToList().ForEach(k =>
                                                                                                                                       p.TransporterActions.Add(new TransporterActions()
                    {
                        Id             = k.ID,
                        ItemId         = k.ITEMID,
                        TransportersId = k.TRANSPORTERSID,
                        Action         = k.ACTION
                    })
                                                                                                                                       ));

                    dbModel.Transporters.ToList().ForEach(p =>
                                                          context.DUG_TRANSPORTERSPO.Where(u => u.ITEMID == p.Id).ToList().ForEach(k =>
                                                                                                                                   p.TransportersPo.Add(new TransportersPo()
                    {
                        Id             = k.ID,
                        ItemId         = k.ITEMID,
                        TransportersId = k.TRANSPORTERSID,
                        PolypeptideId  = k.POLYPEPTIDEID,
                        GeneName       = k.GENENAME
                    })));


                    ////2.加载靶点信息
                    context.DUG_TARGETS.Where(u => u.DRUGBANKID == dbModel.DrugBankId)
                    .ToList()
                    .ForEach(p => dbModel.Targets.Add(new Targets()
                    {
                        Id         = p.ID,
                        DrugBankId = p.DRUGBANKID,
                        TargetId   = p.TARGETID,
                        Name       = p.NAME,
                        Organism   = p.ORGANISM
                    }));

                    dbModel.Targets.ToList().ForEach(p =>
                                                     context.DUG_TARGETACTIONS.Where(u => u.ITEMID == p.Id).ToList().ForEach(k =>
                                                                                                                             p.TargetActions.Add(new TargetActions()
                    {
                        Id       = k.ID,
                        ItemId   = k.ITEMID,
                        TargetId = k.TARGETID,
                        Action   = k.ACTION
                    })
                                                                                                                             ));

                    dbModel.Targets.ToList().ForEach(p =>
                                                     context.DUG_TARGETSPO.Where(u => u.ITEMID == p.Id).ToList().ForEach(k =>
                                                                                                                         p.TargetsPo.Add(new TargetsPo()
                    {
                        Id            = k.ID,
                        ItemId        = k.ITEMID,
                        TargetId      = k.TARGETID,
                        PolypeptideId = k.POLYPEPTIDEID,
                        GeneName      = k.GENENAME
                    })));



                    ////3.加载代谢酶信息
                    context.DUG_ENZYMES.Where(u => u.DRUGBANKID == dbModel.DrugBankId)
                    .ToList()
                    .ForEach(p => dbModel.Enzymes.Add(new Enzymes()
                    {
                        Id         = p.ID,
                        DrugBankId = p.DRUGBANKID,
                        EnzymesId  = p.ENZYMESID,
                        Name       = p.NAME,
                        Organism   = p.ORGANISM
                    }));

                    dbModel.Enzymes.ToList().ForEach(p =>
                                                     context.DUG_ENZYMESACTIONS.Where(u => u.ITEMID == p.Id).ToList().ForEach(k =>
                                                                                                                              p.EnzymesActions.Add(new EnzymesActions()
                    {
                        Id        = k.ID,
                        ItemId    = k.ITEMID,
                        EnzymesId = k.ENZYMESID,
                        Actions   = k.ACTIONS
                    })
                                                                                                                              ));

                    dbModel.Enzymes.ToList().ForEach(p =>
                                                     context.DUG_ENZYMEPO.Where(u => u.ITEMID == p.Id).ToList().ForEach(k =>
                                                                                                                        p.EnzymePo.Add(new EnzymePo()
                    {
                        Id            = k.ID,
                        ItemId        = k.ITEMID,
                        EnzymeId      = k.ENZYMEID,
                        PolypeptideId = k.POLYPEPTIDEID,
                        GeneName      = k.GENENAME
                    })));
                }
            }
            return(drugList);
        }