/// <summary>
        /// Returns a list of publications specified by publication titles, or TCM Ids.
        /// </summary>
        /// <param name="publicationIdentifiers">string array of publication titles or IDs</param>
        /// <param name="session"></param>
        /// <returns></returns>
        public static List <Publication> GetPublications(string[] publicationIdentifiers, Session session)
        {
            List <Publication> publications = new List <Publication>();

            try
            {
                PublicationsFilter filter = new PublicationsFilter(session);

                // Get the list of publications and find them by title
                foreach (XmlNode pubXml in session.GetList(filter))
                {
                    // search for the specified publications, and for each query the publication data and add it to the return list
                    publicationIdentifiers?.Where(p => p.Equals(pubXml.Attributes[Settings.Constants.CM_XML_TITLE].Value) || p.Equals(pubXml.Attributes[Settings.Constants.CM_XML_ID].Value))?
                    .ToList().ForEach(p =>
                    {
                        publications.Add(session.GetObject(pubXml.Attributes[Settings.Constants.CM_XML_ID].Value) as Publication);
                    });
                }
            }
            catch (Exception ex)
            {
                logger.Error($"Error getting publication data for pubs to mirror : {ex.Message} {ex.ToString()}");
            }

            return(publications);
        }
Example #2
0
        public void ResetPublicationsFilter()
        {
            PublicationsFilter.DataSource    = _PurePublicationTypes;
            PublicationsFilter.DisplayMember = "Name";
            PublicationsFilter.ValueMember   = "Uri";

            _PublicationFilter_CheckedItems.Clear();

            for (int i = 0; i < PublicationsFilter.Items.Count; i++)
            {
                PublicationsFilter.SetItemChecked(i, true);
                PurePublicationType selectedType = (PurePublicationType)PublicationsFilter.Items[i];
                _PublicationFilter_CheckedItems.Add(selectedType.Uri);
            }
            this.PublicationsFilter.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.PublicationsFilter_ItemCheck);
        }