public PM.ContentItem PreProcess(DE.Style style, PM.ContentItem contentItem) { switch (style) { case DE.Style.Unknown: // Do Nothing break; case DE.Style.MLA7: case DE.Style.MLA8: contentItem = PreProcessMLA(contentItem); break; case DE.Style.APA5: case DE.Style.APA6: case DE.Style.APA7: contentItem = PreProcessAPA(contentItem); break; case DE.Style.Chicago17: contentItem = PreProcessChicago(contentItem); break; case DE.Style.Harvard10: case DE.Style.ASA6: case DE.Style.Turabian8: // Do Nothing break; default: throw new NotImplementedException(); } return(contentItem); }
private static PM.ContentItem PreProcessAPA(PM.ContentItem contentItem) { if (contentItem != null && !string.IsNullOrEmpty(contentItem.PublisherName)) { Dictionary <string, string> terms = new Dictionary <string, string>(); Dictionary <string, string> prefixes = new Dictionary <string, string>(); Dictionary <string, string> suffixes = new Dictionary <string, string>(); suffixes.Add(" Publishing", string.Empty); suffixes.Add(" Publishers", string.Empty); suffixes.Add(" Publisher", string.Empty); suffixes.Add(" Pub.", string.Empty); suffixes.Add(" Pub", string.Empty); suffixes.Add(" And Companies", string.Empty); suffixes.Add(" And Company", string.Empty); suffixes.Add(" And Co.", string.Empty); suffixes.Add(" And Co", string.Empty); suffixes.Add(" & Companies", string.Empty); suffixes.Add(" & Company", string.Empty); suffixes.Add(" & Co.", string.Empty); suffixes.Add(" & Co", string.Empty); suffixes.Add(" Companies", string.Empty); suffixes.Add(" Company", string.Empty); suffixes.Add(" Co.", string.Empty); suffixes.Add(" Co", string.Empty); suffixes.Add(" Incorporated", string.Empty); suffixes.Add(" Inc.", string.Empty); suffixes.Add(" Inc", string.Empty); contentItem.PublisherName = ReplaceMappings(contentItem.PublisherName, terms, prefixes, suffixes); } return(contentItem); }
internal List <PM.ContentItem> PreProcessCitation(DE.Style style, List <PM.ContentItem> contentItems) { if (contentItems != null) { List <PM.ContentItem> results = new List <PM.ContentItem>(); foreach (PM.ContentItem contentItem in contentItems) { if (contentItem != null) { PM.ContentItem result = contentItem; _overridesCitation.ForEach(x => result = x.PreProcess(style, result)); results.Add(result); } else { results.Add(contentItem); } } return(results); } else { return(contentItems); } }
private static PM.ContentItem PreProcessChicago(PM.ContentItem contentItem) { if (contentItem != null && !string.IsNullOrEmpty(contentItem.PublisherName)) { Dictionary <string, string> terms = new Dictionary <string, string>(); Dictionary <string, string> prefixes = new Dictionary <string, string>(); prefixes.Add("The ", string.Empty); Dictionary <string, string> suffixes = new Dictionary <string, string>(); suffixes.Add(" Publishing", string.Empty); suffixes.Add(" Publishers", string.Empty); suffixes.Add(" Publisher", string.Empty); suffixes.Add(" Pub.", string.Empty); suffixes.Add(" Pub", string.Empty); suffixes.Add(" And Companies", string.Empty); suffixes.Add(" And Company", string.Empty); suffixes.Add(" And Co.", string.Empty); suffixes.Add(" And Co", string.Empty); suffixes.Add(" & Companies", string.Empty); suffixes.Add(" & Company", string.Empty); suffixes.Add(" & Co.", string.Empty); suffixes.Add(" & Co", string.Empty); suffixes.Add(" Companies", string.Empty); suffixes.Add(" Company", string.Empty); suffixes.Add(" Co.", string.Empty); suffixes.Add(" Co", string.Empty); suffixes.Add(" Incorporated", string.Empty); suffixes.Add(" Inc.", string.Empty); suffixes.Add(" Inc", string.Empty); suffixes.Add(" Limited", string.Empty); suffixes.Add(" Ltd.", string.Empty); suffixes.Add(" Ltd", string.Empty); suffixes.Add(" Société à Responsibilité Limitée", string.Empty); suffixes.Add(" SARL", string.Empty); suffixes.Add(" Société par Actions Simplifiée", string.Empty); suffixes.Add(" SAS", string.Empty); suffixes.Add(" Société Anonyme", string.Empty); suffixes.Add(" SA", string.Empty); contentItem.PublisherName = ReplaceMappings(contentItem.PublisherName, terms, prefixes, suffixes); } return(contentItem); }
public PM.ContentItem PreProcess(DE.Style style, PM.ContentItem contentItem) { if (contentItem != null) { if (!string.IsNullOrEmpty(contentItem.PageNumber) && contentItem.PageNumber.EndsWith("+")) { int hash1 = Math.Abs(Guid.NewGuid().GetHashCode()); int hash2 = Math.Abs(Guid.NewGuid().GetHashCode()); string replacement = string.Concat(Math.Min(hash1, hash2).ToString(), ", ", Math.Max(hash1, hash2).ToString()); _mappings.Add(replacement, contentItem.PageNumber); contentItem.PageNumber = replacement; } } return(contentItem); }
private static PM.ContentItem PreProcessMLA(PM.ContentItem contentItem) { if (contentItem != null && !string.IsNullOrEmpty(contentItem.PublisherName)) { Dictionary <string, string> terms = new Dictionary <string, string>(); terms.Add("University Press", "UP"); Dictionary <string, string> prefixes = new Dictionary <string, string>(); prefixes.Add("University of ", "U of "); Dictionary <string, string> suffixes = new Dictionary <string, string>(); suffixes.Add(" Press", " P"); suffixes.Add(" And Companies", string.Empty); suffixes.Add(" And Company", string.Empty); suffixes.Add(" And Co.", string.Empty); suffixes.Add(" And Co", string.Empty); suffixes.Add(" & Companies", string.Empty); suffixes.Add(" & Company", string.Empty); suffixes.Add(" & Co.", string.Empty); suffixes.Add(" & Co", string.Empty); suffixes.Add(" Companies", string.Empty); suffixes.Add(" Company", string.Empty); suffixes.Add(" Co.", string.Empty); suffixes.Add(" Co", string.Empty); suffixes.Add(" Corporations", string.Empty); suffixes.Add(" Corporation", string.Empty); suffixes.Add(" Corp.", string.Empty); suffixes.Add(" Corp", string.Empty); suffixes.Add(" Incorporated", string.Empty); suffixes.Add(" Inc.", string.Empty); suffixes.Add(" Inc", string.Empty); suffixes.Add(" Limited", string.Empty); suffixes.Add(" Ltd.", string.Empty); suffixes.Add(" Ltd", string.Empty); contentItem.PublisherName = ReplaceMappings(contentItem.PublisherName, terms, prefixes, suffixes); } return(contentItem); }