public LocalNetwork GetProfileNetworkForBrowser(int profileId) { //Debug logging Connects.Profiles.Service.ServiceImplementation.DebugLogging.Log("Line1: profileid:" + profileId); DataIO nb = new DataIO(); try { Type type = typeof(LocalNetwork); string responseXML; responseXML = nb.GetProfileNetworkForBrowser(profileId).OuterXml; LocalNetwork ln = XmlUtilities.DeserializeObject(responseXML, type) as LocalNetwork; return ln; } catch (Exception ex) { DebugLogging.Log("ERROR: " + ex.Message + " " + ex.StackTrace + " ,,,, INNER EXCEPTION: " + ex.InnerException.Message + ex.InnerException.StackTrace); throw ex; } }
// UCSF public PersonList ProfileDetails(string internalUsername, string FNO) { DataIO data = new DataIO(); if (internalUsername != null && internalUsername.Trim().Length > 0) { return new ProfileServiceAdapter().GetPersonFromPersonId(data.GetPersonIdFromInternalUsername(internalUsername)); } else { return new ProfileServiceAdapter().GetPersonFromPersonId(data.GetPersonIdFromFNO(FNO)); } }
// UCSF public PublicationDate GetPubDate(string MPID, string PMID, string PubID) { DataIO data = new DataIO(); String pd = "" ; if (PMID != null && PMID.Trim().Length > 0) { pd = data.ProcessDateSQL("select PubDate from [Profile.Data].[Publication.PubMed.General] where PMID = '" + PMID + "';"); } else if (MPID != null && MPID.Trim().Length > 0) { pd = data.ProcessDateSQL("select publicationdt from [Profile.Data].[Publication.MyPub.General] where mpid = '" + MPID + "';"); } else if (PubID != null && PubID.Trim().Length > 0) { pd = data.ProcessDateSQL("select isnull(m.publicationdt, p.PubDate) from [Profile.Data].[Publication.Person.Include] i left outer join [Profile.Data].[Publication.MyPub.General] m on i.mpid = m.mpid left outer join " + "[Profile.Data].[Publication.PubMed.General] p on i.pmid = p.pmid where pubid = '" + PubID + "';"); } return new PublicationDate { pubDate = pd }; }
private string GetJSONProfilesFromFNO(string FNO, bool showPublications, bool mobile) { int personId = new Connects.Profiles.Service.ServiceImplementation.DataIO().GetPersonIdFromFNO(FNO); return GetJSONProfiles(personId, showPublications, mobile); }
private string GetJSONProfilesFromEmployeeID(string employeeID, bool showPublications, bool mobile) { int personId = new Connects.Profiles.Service.ServiceImplementation.DataIO().GetPersonIdFromInternalUsername(employeeID); return GetJSONProfiles(personId, showPublications, mobile); }
private string GetXMLProfilesFromFNO(string FNO) { // lookup personid from FNO int personId = new Connects.Profiles.Service.ServiceImplementation.DataIO().GetPersonIdFromFNO(FNO); return GetXMLProfiles(personId); }
private string GetXMLProfilesFromEmployeeID(string employeeID) { // lookup personid int personId = new Connects.Profiles.Service.ServiceImplementation.DataIO().GetPersonIdFromInternalUsername(employeeID); return GetXMLProfiles(personId); }
private string ConvertToRDFRequest(string req, string version) { string searchstring = string.Empty; string exactphrase = string.Empty; string fname = string.Empty; string lname = string.Empty; string ecomid = string.Empty; string personid = string.Empty; string harvardid = string.Empty; string institution = string.Empty; string institutionallexcept = string.Empty; string department = string.Empty; string departmentallexcept = string.Empty; string facultyrank = string.Empty; string division = string.Empty; string divisionallexcept = string.Empty; string classuri = "http://xmlns.com/foaf/0.1/Person"; int limit = 100; int offset = 0; string sortby = string.Empty; string sortdirection = string.Empty; string otherfilters = string.Empty; XmlDocument newrequest = new XmlDocument(); XmlDocument request = new XmlDocument(); req = req.Replace("\n", "").Replace("\r", ""); req = req.Replace("<?xml version=\"1.0\" encoding=\"utf-16\"?>", ""); req = req.Replace("xmlns=\"http://connects.profiles.schema/profiles/query\"", ""); request.LoadXml(req); if (request.SelectSingleNode("//Profiles/QueryDefinition/PersonID") != null) personid = request.SelectSingleNode("//Profiles/QueryDefinition/PersonID").InnerText; if (request.SelectSingleNode("//Profiles/QueryDefinition/InternalIDList/InternalID[@Name = 'EcommonsUsername']") != null) ecomid = request.SelectSingleNode("//Profiles/QueryDefinition/InternalIDList/InternalID[@Name = 'EcommonsUsername']").InnerText; if (request.SelectSingleNode("//Profiles/QueryDefinition/InternalIDList/InternalID[@Name = 'HarvardID']") != null) harvardid = request.SelectSingleNode("//Profiles/QueryDefinition/InternalIDList/InternalID[@Name = 'HarvardID']").InnerText; if (request.SelectSingleNode("//Profiles/QueryDefinition/Keywords/KeywordString") != null) searchstring = request.SelectSingleNode("//Profiles/QueryDefinition/Keywords/KeywordString").InnerText; if (request.SelectSingleNode("//Profiles/QueryDefinition/Keywords/KeywordString/@MatchType") != null) exactphrase = request.SelectSingleNode("//Profiles/QueryDefinition/Keywords/KeywordString/@MatchType").Value; if (request.SelectSingleNode("//Profiles/QueryDefinition/Name/FirstName") != null) fname = request.SelectSingleNode("//Profiles/QueryDefinition/Name/FirstName").InnerText; if (request.SelectSingleNode("//Profiles/QueryDefinition/Name/LastName") != null) lname = request.SelectSingleNode("//Profiles/QueryDefinition/Name/LastName").InnerText; if (request.SelectSingleNode("//Profiles/QueryDefinition/AffiliationList/Affiliation/DepartmentName") != null) department = request.SelectSingleNode("//Profiles/QueryDefinition/AffiliationList/Affiliation/DepartmentName").InnerText; if (request.SelectSingleNode("//Profiles/QueryDefinition/AffiliationList/Affiliation/DepartmentName/@Exclude") != null) departmentallexcept = request.SelectSingleNode("//Profiles/QueryDefinition/AffiliationList/Affiliation/DepartmentName/@Exclude").Value; if (request.SelectSingleNode("//Profiles/QueryDefinition/AffiliationList/Affiliation/DivisionName") != null) division = request.SelectSingleNode("//Profiles/QueryDefinition/AffiliationList/Affiliation/DivisionName").InnerText; if (request.SelectSingleNode("//Profiles/QueryDefinition/AffiliationList/Affiliation/DivisionName/@Exclude") != null) divisionallexcept = request.SelectSingleNode("//Profiles/QueryDefinition/AffiliationList/Affiliation/DivisionName/@Exclude").Value; if (request.SelectSingleNode("//Profiles/QueryDefinition/AffiliationList/Affiliation/InstitutionName") != null) institution = request.SelectSingleNode("//Profiles/QueryDefinition/AffiliationList/Affiliation/InstitutionName").InnerText; if (request.SelectSingleNode("//Profiles/QueryDefinition/AffiliationList/Affiliation/InstitutionName/@Exclude") != null) institutionallexcept = request.SelectSingleNode("//Profiles/QueryDefinition/AffiliationList/Affiliation/InstitutionName/@Exclude").Value; if (request.SelectSingleNode("//Profiles/OutputOptions/@StartRecord") != null) offset = Convert.ToInt32(request.SelectSingleNode("//Profiles/OutputOptions/@StartRecord").Value); if (request.SelectSingleNode("//Profiles/OutputOptions/@MaxRecords") != null) limit = Convert.ToInt32(request.SelectSingleNode("//Profiles/OutputOptions/@MaxRecords").Value); if (offset > 0) offset--; if (request.SelectSingleNode("//Profiles/OutputOptions/@SortType") != null) sortby = request.SelectSingleNode("//Profiles/OutputOptions/@SortType").Value; foreach (XmlNode others in request.SelectNodes("Profiles/QueryDefinition/PersonFilterList/PersonFilter")) { otherfilters += others.InnerText + ", "; } if (otherfilters != string.Empty) otherfilters = otherfilters.Substring(0, otherfilters.Length - 3); DataIO data = new DataIO(); newrequest = data.SearchRequest(searchstring, exactphrase, fname, lname, institution, institutionallexcept, department, departmentallexcept, division, divisionallexcept, classuri, limit.ToString(), offset.ToString(), sortby, sortdirection, otherfilters, personid, ecomid, harvardid); return newrequest.InnerXml; }
public Connects.Profiles.Service.DataContracts.PersonList ProfileSearch(Connects.Profiles.Service.DataContracts.Profiles qd, bool isSecure) { Connects.Profiles.Service.DataContracts.PersonList pl = null; string req = string.Empty; string responseXML = string.Empty; try { DataIO ps = new DataIO(); XmlDocument searchrequest = new XmlDocument(); Utility.Namespace namespacemgr = new Connects.Profiles.Utility.Namespace(); Connects.Profiles.Service.DataContracts.Profiles p = new Connects.Profiles.Service.DataContracts.Profiles(); req = Connects.Profiles.Utility.XmlUtilities.SerializeToString(qd); DebugLogging.Log("+++++++++ REQUEST=" + req); Type type = typeof(Connects.Profiles.Service.DataContracts.PersonList); searchrequest.LoadXml(this.ConvertToRDFRequest(req, qd.Version.ToString())); if (qd.QueryDefinition.PersonID != null && qd.Version != 2) { qd.QueryDefinition.PersonID = ps.GetPersonID(qd.QueryDefinition.PersonID).ToString(); } if (qd.QueryDefinition.PersonID != null) { responseXML = ps.Search(qd.QueryDefinition.PersonID, isSecure).OuterXml; } else { responseXML = ps.Search(searchrequest, isSecure).OuterXml; } string queryid = string.Empty; queryid = qd.QueryDefinition.QueryID; if (responseXML == string.Empty) { if (queryid == null) queryid = Guid.NewGuid().ToString(); responseXML = "<PersonList Complete=\"true\" ThisCount=\"0\" TotalCount=\"0\" QueryID=\"" + queryid + "\" xmlns=\"http://connects.profiles.schema/profiles/personlist\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" />"; } else { string version = string.Empty; bool individual = false; version = qd.Version.ToString(); if (qd.QueryDefinition.PersonID != null || qd.QueryDefinition.InternalIDList != null) individual = true; responseXML = ps.ConvertV2ToBetaSearch(responseXML, queryid, version, individual); } DebugLogging.Log("+++++++++ DONE WITH Convert V2 to Beta Search"); pl = Connects.Profiles.Utility.XmlUtilities.DeserializeObject(responseXML, type) as Connects.Profiles.Service.DataContracts.PersonList; DebugLogging.Log("+++++++++ Returned + a total count of = " + pl.TotalCount); } catch (Exception ex) { DebugLogging.Log(req + " " + responseXML); DebugLogging.Log("ERROR==> " + ex.Message + " STACK:" + ex.StackTrace + " SOURCE:" + ex.Source); } return pl; }
/// <summary> /// Public method used to create an instance of the custom Profiles session object. /// </summary> public string SessionCreate() { DataIO dataio = new DataIO(); Session session = new Session(); string hostname = System.Net.Dns.GetHostName(); string ipaddress = string.Empty; try { ipaddress = System.Net.Dns.GetHostAddresses(hostname).GetValue(1).ToString(); } catch (Exception ex) { DebugLogging.Log(ex.Message + " ++ " + ex.StackTrace); ipaddress = ""; } session.RequestIP = ipaddress; session.UserAgent = "PROFILES RNS"; dataio.SessionCreate(ref session); //Store the object in the current session of the user. return session.SessionID; }
public Connects.Profiles.Service.DataContracts.PersonList ProfileSearch(Connects.Profiles.Service.DataContracts.Profiles qd, bool isSecure) { Connects.Profiles.Service.DataContracts.PersonList pl = null; try { DataIO ps = new DataIO(); XmlDocument searchrequest = new XmlDocument(); Utility.Namespace namespacemgr = new Connects.Profiles.Utility.Namespace(); XmlNamespaceManager namespaces; string responseXML; Connects.Profiles.Service.DataContracts.Profiles p = new Connects.Profiles.Service.DataContracts.Profiles(); string req = Connects.Profiles.Utility.XmlUtilities.SerializeToString(qd); Type type = typeof(Connects.Profiles.Service.DataContracts.PersonList); searchrequest.LoadXml(this.ConvertToRDFRequest(req)); namespaces = namespacemgr.LoadNamespaces(searchrequest); if (qd.QueryDefinition.PersonID!=null) { responseXML = ps.Search(qd.QueryDefinition.PersonID).OuterXml; } else { responseXML = ps.Search(searchrequest,isSecure).OuterXml; } string queryid = string.Empty; string version = string.Empty; bool individual = false; queryid = qd.QueryDefinition.QueryID; version = qd.Version.ToString(); if (qd.QueryDefinition.PersonID != null) individual = true; responseXML = ps.ConvertV2ToBetaSearch(responseXML, queryid, version, individual); pl = Connects.Profiles.Utility.XmlUtilities.DeserializeObject(responseXML, type) as Connects.Profiles.Service.DataContracts.PersonList; } catch (Exception ex) { DebugLogging.Log("ERROR==> " + ex.Message + " STACK:" + ex.StackTrace + " SOURCE:" + ex.Source); } return pl; }