public void DrawProfilesModule() { var dataIO = new Profiles.Profile.Utilities.DataIO(); // Get concept publication timeline using (var reader = dataIO.GetGoogleTimeline(base.RDFTriple, "[Profile.Module].[NetworkAuthorshipTimeline.Concept.GetData]")) { while (reader.Read()) { timeline.Src = reader["gc"].ToString(); timeline.Alt = reader["alt"].ToString(); litTimelineTable.Text = reader["asText"].ToString(); } reader.Close(); } /* Reader returns multiple result sets in the following order * 1) Cited publications * 2) Newest publication * 3) Oldest publications */ using (var reader = dataIO.GetConceptPublications(base.RDFTriple)) { List <string> htmlList = new List <string>(); StringBuilder html = null; int resultsetCnt = 0; do { resultsetCnt++; html = new StringBuilder(); while (reader.Read()) { if (resultsetCnt == 3) // cited { html.AppendFormat(@" <li> <div>{0}</div> <div class='viewIn'>View in: <a href='//www.ncbi.nlm.nih.gov/pubmed/{1}' target='_new'>PubMed</a></div> <div>Cited: {2}</div> </li> " , reader["reference"].ToString(), reader["pmid"].ToString(), reader["n"].ToString() ); } else if (resultsetCnt == 1 || resultsetCnt == 2) // newest and oldest { html.AppendFormat(@" <li> <div>{0}</div> <div class='viewIn'>View in: <a href='//www.ncbi.nlm.nih.gov/pubmed/{1}' target='_new'>PubMed</a></div> </li> " , reader["reference"].ToString(), reader["pmid"].ToString() ); } } htmlList.Add(html.ToString()); } while(reader.NextResult()); // Next resultset reader.Close(); if (htmlList.Count == 1) { ShowOtherPub = false; newest.Text = htmlList[0]; } else { // For Catalyst site only until speed issue is resolved ShowOtherPub = true; newest.Text = htmlList[0]; oldest.Text = htmlList[1]; cited.Text = htmlList[2]; } } }
private void DrawProfilesModule() { DateTime d = DateTime.Now; Profiles.Profile.Utilities.DataIO data = new Profiles.Profile.Utilities.DataIO(); List <Publication> publication = new List <Publication>(); Utilities.DataIO.ClassType type = Utilities.DataIO.ClassType.Unknown; Framework.Utilities.Namespace xmlnamespace = new Profiles.Framework.Utilities.Namespace(); XmlNamespaceManager namespaces = xmlnamespace.LoadNamespaces(BaseData); if (BaseData.SelectSingleNode("rdf:RDF/rdf:Description[1]/rdf:type[@rdf:resource='http://xmlns.com/foaf/0.1/Person']", namespaces) != null) { type = Utilities.DataIO.ClassType.Person; } if (BaseData.SelectSingleNode("rdf:RDF/rdf:Description[1]/rdf:type[@rdf:resource='http://xmlns.com/foaf/0.1/Group']", namespaces) != null) { type = Utilities.DataIO.ClassType.Grant; } using (SqlDataReader reader = data.GetPublications(base.RDFTriple, type)) { while (reader.Read()) { publication.Add(new Publication(reader["bibo_pmid"].ToString(), reader["vivo_pmcid"].ToString(), reader["prns_informationResourceReference"].ToString(), reader["vivo_webpage"].ToString())); } rpPublication.DataSource = publication; rpPublication.DataBind(); } // Get timeline bar chart string storedproc = "[Profile.Module].[NetworkAuthorshipTimeline.Person.GetData]"; if (type == Utilities.DataIO.ClassType.Grant) { storedproc = "[Profile.Module].[NetworkAuthorshipTimeline.Group.GetData]"; } using (SqlDataReader reader = data.GetGoogleTimeline(base.RDFTriple, storedproc)) { while (reader.Read()) { timelineBar.Src = reader["gc"].ToString(); timelineBar.Alt = reader["alt"].ToString(); litTimelineTable.Text = reader["asText"].ToString(); } reader.Close(); } if (timelineBar.Src == "") { timelineBar.Visible = false; } // Login link loginLiteral.Text = String.Format("<a href='{0}'>login</a>", Root.Domain + "/login/default.aspx?pin=send&method=login&edit=true"); if (type == Utilities.DataIO.ClassType.Grant) { divPubHeaderText.Visible = false; } Framework.Utilities.DebugLogging.Log("PUBLICATION MODULE end Milliseconds:" + (DateTime.Now - d).TotalSeconds); }