public ActionResult LinkOut(int PMID = 0, int SpecialityID = 0, int oid = 0, int fid = 0) { int qsSpecId = SpecialityID; MyLibraryModel MainMyLibraryModel = new MyLibraryModel(); var UserSpecialityList = MyLibraryBL.GetUserSpecialities(CurrentUser.UserId); if (qsSpecId == 0) { qsSpecId = UserSpecialityList.Select(n => n.SpecialityId).FirstOrDefault(); } var UserFolderList = MyLibraryBL.GetUserFolderList(qsSpecId, CurrentUser.UserId); MainMyLibraryModel.AllUserFolders = UserFolderList; MainMyLibraryModel.AllUserSpecialities = UserSpecialityList; ViewBag.SpecId = qsSpecId; ViewBag.PrimarySpecialityId = UserSpecialityList.Select(n => n.SpecialityId).FirstOrDefault(); string Query = "http://eutils.ncbi.nlm.nih.gov/entrez/eutils/elink.fcgi?tool=CogentMedicineWebSite&[email protected]&dbfrom=pubmed&id=" + PMID + "&cmd=llinkslib"; EditorsChoicemodel citations = UserBL.DisplayPMIDS(CurrentUser.UserId, PMID.ToString(), 2, 1); citations.SpecialtyID = Convert.ToInt32(SpecialityID); XmlDocument xdoc = new XmlDocument(); xdoc.Load(Query); XDocument doc = XDocument.Load(Query); if (xdoc != null) { XmlNodeList xNodes = xdoc.DocumentElement.GetElementsByTagName("ObjUrl"); List <FullTextLinkOuts> XMLDataList = new List <FullTextLinkOuts>(); List <FullTextLinkOuts> Aggregatorslist = new List <FullTextLinkOuts>(); List <FullTextLinkOuts> ProvList = new List <FullTextLinkOuts>(); string str = string.Empty; foreach (XmlNode dStr in xNodes) { try { FullTextLinkOuts XMLData = new FullTextLinkOuts(); XmlNode SubTypeNode = dStr.SelectSingleNode("SubjectType"); if (SubTypeNode.InnerText.ToLower() == "publishers/providers") { var Description = xdoc.SelectNodes("eLinkResult/LinkSet/IdUrlList/IdUrlSet/ObjUrl/Attribute"); XMLData.ProviderName = ((dStr.LastChild).FirstChild).InnerText; XMLData.URLS = (dStr.FirstChild).InnerText; ProvList.Add(XMLData); } else if (SubTypeNode.InnerText.ToLower() == "aggregators") { string Description = xdoc.SelectSingleNode("eLinkResult/LinkSet/IdUrlList/IdUrlSet/ObjUrl/Attribute").InnerText; XMLData.ProviderName = ((dStr.LastChild).FirstChild).InnerText; XMLData.URLS = (dStr.FirstChild).InnerText; Aggregatorslist.Add(XMLData); } else { str = (dStr.FirstChild).InnerText; if (str.Substring(0, 1) == "/") { str = "http://www.ncbi.nlm.nih.gov" + str; } XMLData.URLS = str; XMLData.ProviderName = ((dStr.LastChild).FirstChild).InnerText; XMLDataList.Add(XMLData); } } catch (Exception) { } } citations.linklist = XMLDataList; citations.ProviderPublis = ProvList; citations.Aggregator = Aggregatorslist; } citations.SpecialtyID = Convert.ToInt32(SpecialityID); citations.PMID = Convert.ToInt32(PMID); MainMyLibraryModel.LinkoutModelVar = citations; return(View(MainMyLibraryModel)); }
/// <summary> /// SearchFullText Linkout using PMID - RaviM /// </summary> /// <param name="PMID"></param> /// <returns></returns> public ActionResult SearchFullTextLinkout(int PMID = 0, bool FromPMedline = false) { SearchBL.MyQueryForm myQyeryForm = new SearchBL.MyQueryForm(); string Query = "http://eutils.ncbi.nlm.nih.gov/entrez/eutils/elink.fcgi?tool=CogentMedicineWebSite&[email protected]&dbfrom=pubmed&id=" + PMID + "&cmd=llinkslib"; EditorsChoicemodel citations = UserBL.DisplayPMIDS(CurrentUser.UserId, PMID.ToString(), 2, 1); XmlDocument xdoc = new XmlDocument(); xdoc.Load(Query); XDocument doc = XDocument.Load(Query); if (xdoc != null) { XmlNodeList xNodes = xdoc.DocumentElement.GetElementsByTagName("ObjUrl"); List <FullTextLinkOuts> XMLDataList = new List <FullTextLinkOuts>(); List <FullTextLinkOuts> Aggregatorslist = new List <FullTextLinkOuts>(); List <FullTextLinkOuts> ProvList = new List <FullTextLinkOuts>(); string str = string.Empty; foreach (XmlNode dStr in xNodes) { FullTextLinkOuts XMLData = new FullTextLinkOuts(); XmlNode SubTypeNode = dStr.SelectSingleNode("SubjectType"); if (SubTypeNode != null) { if (SubTypeNode.InnerText.ToLower() == "publishers/providers") { var Description = xdoc.SelectNodes("eLinkResult/LinkSet/IdUrlList/IdUrlSet/ObjUrl/Attribute"); XMLData.ProviderName = ((dStr.LastChild).FirstChild).InnerText; XMLData.URLS = (dStr.FirstChild).InnerText; ProvList.Add(XMLData); } else if (SubTypeNode.InnerText.ToLower() == "aggregators") { string Description = xdoc.SelectSingleNode("eLinkResult/LinkSet/IdUrlList/IdUrlSet/ObjUrl/Attribute").InnerText; XMLData.ProviderName = ((dStr.LastChild).FirstChild).InnerText; XMLData.URLS = (dStr.FirstChild).InnerText; Aggregatorslist.Add(XMLData); } else { str = (dStr.FirstChild).InnerText; if (str.Substring(0, 1) == "/") { str = "http://www.ncbi.nlm.nih.gov" + str; } XMLData.URLS = str; XMLData.ProviderName = ((dStr.LastChild).FirstChild).InnerText; XMLDataList.Add(XMLData); } } } citations.linklist = XMLDataList; citations.ProviderPublis = ProvList; citations.Aggregator = Aggregatorslist; } citations.PMID = Convert.ToInt32(PMID); myQyeryForm.LinkoutModelVar = citations; if (FromPMedline) { myQyeryForm.FromPMedline = true; } return(View(myQyeryForm)); }