/// <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); }
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); }