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); }
/// <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); }