Esempio n. 1
0
        //Inserts comma seperated string of PubMed Ids into the db
        private void InsertPubMedIds(string value)
        {
            string uri = "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?retmax=1000&db=pubmed&retmode=xml&id=" + value;

            System.Xml.XmlDocument myXml = new System.Xml.XmlDocument();
            myXml.LoadXml(this.HttpPost(uri, "Catalyst", "text/plain"));
            XmlNodeList nodes = myXml.SelectNodes("PubmedArticleSet/PubmedArticle");

            Utilities.DataIO data = new Profiles.Edit.Utilities.DataIO();

            foreach (XmlNode node in nodes)
            {
                string pmid = node.SelectSingleNode("MedlineCitation/PMID").InnerText;

                if (!data.CheckPublicationExists(pmid))
                {
                    // Insert or update the publication
                    data.AddPublication(pmid, node.OuterXml);
                }

                // Assign the user to the publication
                data.AddPublication(_personId, _subject, Convert.ToInt32(pmid), this.PropertyListXML);
            }

            data.UpdateEntityOnePerson(_personId);
            this.KillCache();
            this.Counter = 0;
            Session["phAddPub.Visible"]           = null;
            Session["pnlAddPubMed.Visible"]       = null;
            Session["pnlAddCustomPubMed.Visible"] = null;
            Session["pnlDeletePubMed.Visible"]    = null;
            upnlEditSection.Update();
        }