/// <summary> /// Get Search Results View .. Search Post will be done through Ajax method - RaviM /// </summary> /// <param name="Model"></param> /// <returns></returns> public ActionResult SearchResults(int start = 1, string range = "20") { SearchBL.SearchForm obj = new SearchBL.SearchForm(); if (Session["SearchLimits"] != null) { SearchBL.MyQueryForm myQyeryForm = new SearchBL.MyQueryForm(); int userid = CurrentUser.UserId; obj = (SearchBL.SearchForm)Session["SearchLimits"]; int RangeCount = int.Parse(range); myQyeryForm.searchInfo = SearchBL.GetSearchInfo(userid, obj.SearchName, Convert.ToInt32(obj.SearchId)); obj.ArticlesList = SearchBL.SearchFetchRange(userid, obj.SearchName, obj.SearchId, start, start + (RangeCount - 1)); StringBuilder str = new StringBuilder(); if (obj.ArticlesList != null) { foreach (var item in obj.ArticlesList) { str.Append(item.PMID + ","); } } string PMIDList = str.ToString(); if (!string.IsNullOrEmpty(PMIDList)) { PMIDList = PMIDList.Remove(PMIDList.LastIndexOf(','), 1); } obj.AllCitationDetails = SearchBL.GetAllCitationAbstract(CurrentUser.UserId, PMIDList, 2, 1); obj.QueryDetails = myQyeryForm.searchInfo.QueryDetails; obj.ErrorDesc = myQyeryForm.searchInfo.ErrorDesc; obj.CitationCount = Convert.ToInt32(myQyeryForm.searchInfo.SearchResultsCount); obj.TopicsList = SearchBL.GetTopicsList(CurrentUser.UserId); Session["SearchLimits"] = obj; obj.DisplayCount = range; if (Session["SearchResults"] != null) { SearchBL.SearchForm keep = (SearchBL.SearchForm)Session["SearchResults"]; obj.showGoToDestionation = keep.showGoToDestionation; obj.TopicFolderID = keep.FolderID; obj.SpecId = keep.SpecId; obj.resultFolder2 = keep.resultFolder2; } Session["SearchResults"] = null; return(View(obj)); } else { return(RedirectToAction("Search", "Search")); } return(View(obj)); }
public ActionResult AbstractPrintable(string sort = "date", string searchfolder = "", int MID = 0) { SearchBL.MyQueryForm myQyeryForm = new SearchBL.MyQueryForm(); if (MID != 0) { CitationsModel pmid = new CitationsModel(); pmid.pmid = MID; List <CitationsModel> PMIDCitation = new List <CitationsModel>(); PMIDCitation.Add(pmid); myQyeryForm.CitationDetails = SearchBL.GetCitationDetails(PMIDCitation, sort, CurrentUser.UserId, 2); myQyeryForm.UserComment = MyLibraryBL.GetUserComment(MID, CurrentUser.UserId); myQyeryForm.AbstractCommentsECList = MyLibraryBL.GetAbstractCommentsEC(MID); } return(View(myQyeryForm)); }
public ActionResult CopyCitation(SearchBL.MyQueryForm Model, string actionFirst, string actionSecond, int MID, FormCollection Collection, int start = 1) { //int specid , oid,fid; bool keepDelete; if (Collection["KeepDelete"] == "0") { keepDelete = false; } else { keepDelete = true; } short?DateEnd = Convert.ToInt16(Collection["dateEnd"]); if (actionFirst != null) { if (!string.IsNullOrEmpty(Collection["ddlUserSubTopic"])) { var Result = SearchBL.CopyCitation(MID, Collection["ddlUserSubTopic"], CurrentUser.UserId, Convert.ToInt32(Collection["SearchId"]), DateEnd, keepDelete); return(RedirectToAction("index", "mylibrary", new { specid = Result, oid = Model.FolderID, fid = Collection["ddlUserSubTopic"], selaction = "saved", start = start })); } else { return(RedirectToAction("QueryCitationAbstract", "MyQueries", new { MID = MID })); } } else { if (!string.IsNullOrEmpty(Collection["ddlUserSubTopicSecond"])) { var Result = SearchBL.CopyCitation(MID, Collection["ddlUserSubTopicSecond"], CurrentUser.UserId, Convert.ToInt32(Collection["SearchId"]), DateEnd, keepDelete); return(RedirectToAction("index", "mylibrary", new { specid = Result, oid = Model.FolderID, fid = Collection["ddlUserSubTopicSecond"], selaction = "saved", start = start })); } else { return(RedirectToAction("QueryCitationAbstract", "MyQueries", new { MID = MID })); } } }
public ActionResult QueryCitationAbstract(string sort = "date", string searchfolder = "", int MID = 0, int Search = 0) { SearchBL.MyQueryForm myQyeryForm = new SearchBL.MyQueryForm(); List <SearchBL.MyQueryForm> myQueriesList = new List <SearchBL.MyQueryForm>(); myQueriesList = SearchBL.MyQueriesList(CurrentUser.UserId); myQyeryForm.myQueriesList = myQueriesList; myQyeryForm.Isendemail = SearchBL.GetIsSendEmail(CurrentUser.UserId); myQyeryForm.TopicsList = SearchBL.GetTopicsList(CurrentUser.UserId); if (MID != 0) { CitationsModel pmid = new CitationsModel(); pmid.pmid = MID; List <CitationsModel> PMIDCitation = new List <CitationsModel>(); PMIDCitation.Add(pmid); myQyeryForm.CitationDetails = SearchBL.GetCitationDetails(PMIDCitation, sort, CurrentUser.UserId, 2); myQyeryForm.UserComment = MyLibraryBL.GetUserComment(MID, CurrentUser.UserId); myQyeryForm.AbstractCommentsECList = MyLibraryBL.GetAbstractCommentsEC(MID); myQyeryForm.SearchID = Search; myQyeryForm.queryDetails = SearchBL.GetSearchQuery(CurrentUser.UserId, "", Search); } return(View(myQyeryForm)); }
/// <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)); }
// // GET: /MyQueries/ #region public ActionResult MyQueries(int?FID, int?searchid, string SearchName, string searchfolder = "", int start = 1) { int userid = AJA_Core.CurrentUser.UserId; SearchBL.MyQueryForm myQyeryForm = new SearchBL.MyQueryForm(); List <SearchBL.MyQueryForm> myQueriesList = new List <SearchBL.MyQueryForm>(); myQueriesList = SearchBL.MyQueriesList(userid); myQyeryForm.myQueriesList = myQueriesList; myQyeryForm.Isendemail = SearchBL.GetIsSendEmail(userid); if (searchid != 0 && !string.IsNullOrEmpty(SearchName)) { myQyeryForm.queryDetails = SearchBL.GetSearchQuery(userid, SearchName, searchid); myQyeryForm.searchInfo = SearchBL.GetSearchInfo(userid, SearchName, Convert.ToInt32(searchid)); SearchBL.ManageQuery MQ = new SearchBL.ManageQuery(); MQ.SearchId = searchid; MQ.QueryDetails = myQyeryForm.searchInfo.QueryDetails; MQ.Name = myQyeryForm.queryDetails.SearchName; MQ.Description = myQyeryForm.queryDetails.Description; MQ.Autosearch = Convert.ToBoolean(myQyeryForm.queryDetails.AutoSearch); MQ.KeepDelete = Convert.ToInt32(myQyeryForm.queryDetails.KeepDelete); MQ.ShelfLife = myQyeryForm.queryDetails.ShelfLife.ToString(); if (FID != 0) { myQyeryForm.queryDestination = SearchBL.GetQueryDestination(Convert.ToInt32(FID)); MQ.FolderID = FID; if (myQyeryForm.queryDestination != null) { MQ.DestinationFolder = myQyeryForm.queryDestination.SpecialtyName + " / " + myQyeryForm.queryDestination.TopicName + " / " + myQyeryForm.queryDestination.SubTopicName; } myQyeryForm.Citations = SearchBL.GetSearchCitations(Convert.ToInt32(searchid), CurrentUser.UserId); if (myQyeryForm.Citations.Count > 0) { myQyeryForm.CitationDetails = MyLibraryBL.GetCitationDetails(myQyeryForm.Citations, "date", CurrentUser.UserId, 1); TimeSpan timespan = (DateTime.Now - Convert.ToDateTime(myQyeryForm.Citations[0].expiredate)); if (myQyeryForm.Citations[0].keepdelete) { myQyeryForm.TrackDays = timespan.Days.ToString() + " days until keep"; } else { myQyeryForm.TrackDays = timespan.Days.ToString() + " days until delete"; } } else { myQyeryForm.CitationDetails = null; } } if (!string.IsNullOrEmpty(searchfolder)) { myQyeryForm.CitationDetails = myQyeryForm.CitationDetails.Where(c => c.pmid.ToString() == searchfolder || (c.AuthorList ?? "").Contains(searchfolder) || (c.ArticleTitle ?? "").Contains(searchfolder) || (c.MedlinePgn ?? "").Contains(searchfolder) || (c.MedlineTA ?? "").Contains(searchfolder)).ToList(); } if (myQyeryForm.CitationDetails != null) { myQyeryForm.CitationDetailsTotal = myQyeryForm.CitationDetails; myQyeryForm.CitationDetails = myQyeryForm.CitationDetailsTotal.Skip(start - 1).Take(15).ToList(); } Session["ManageQuery"] = MQ; } return(View(myQyeryForm)); }