private RoyalGazetteList DoParse(TextReader reader) { RoyalGazetteList result = new RoyalGazetteList(); String currentLine = String.Empty; int dataState = -1; StringBuilder entryData = new StringBuilder(); try { while ((currentLine = reader.ReadLine()) != null) { if (currentLine.Contains(PageStart)) { String temp = currentLine.Substring(currentLine.LastIndexOf(PageStart) + PageStart.Length, 3).Trim(); _numberOfPages = Convert.ToInt32(temp); } else if (currentLine.StartsWith(EntryStart)) { if (entryData.Length > 0) { var current = ParseSingeItem(entryData.ToString()); if (current != null) { result.Add(current); } entryData.Remove(0, entryData.Length); } dataState++; } else if (dataState >= 0) { entryData.Append(currentLine.Trim() + " "); } } if (entryData.Length > 0) { var current = ParseSingeItem(entryData.ToString()); if (current != null) { result.Add(current); } } } catch (IOException) { } return(result); }
internal static void ParseNode(XmlNode iNode, RoyalGazetteList ioList) { if (iNode.HasChildNodes) { foreach (XmlNode lChildNode in iNode.ChildNodes) { if (lChildNode.Name == "year") { ParseNode(lChildNode, ioList); } else if (lChildNode.Name == "decade") { ParseNode(lChildNode, ioList); } else if (lChildNode.Name == "month") { ParseNode(lChildNode, ioList); } else if (lChildNode.Name == "entry") { ioList.Add(RoyalGazette.Load(lChildNode)); } } } }
public RoyalGazetteList FilteredList(RoyalGazetteList iFilter) { var lResult = new RoyalGazetteList(); foreach (RoyalGazette lEntry in this) { if (iFilter == null) { lResult.Add(lEntry); } else if (!iFilter.Contains(lEntry)) { lResult.Add(lEntry); } } return(lResult); }
public RoyalGazetteList AllAboutEntity(Int32 iGeocode, Boolean iIncludeSubEntities) { var retval = new RoyalGazetteList(); foreach (RoyalGazette lEntry in this) { if (lEntry.IsAboutGeocode(iGeocode, iIncludeSubEntities)) { retval.Add(lEntry); } } return(retval); }
private RoyalGazetteList CurrentSelection() { RoyalGazetteList retval = new RoyalGazetteList(); foreach (DataGridViewRow lRow in grid.SelectedRows) { DataRowView lRowView = lRow.DataBoundItem as DataRowView; // Debug.Assert(lRowView != null); DataRow lDataRow = lRowView.Row; // Debug.Assert(lDataRow != null); RoyalGazette lGazette = lDataRow["Title"] as RoyalGazette; if (lGazette != null) { retval.Add(lGazette); } } return(retval); }
public RoyalGazetteList FindDuplicates() { RoyalGazetteList lResult = new RoyalGazetteList(); RoyalGazetteList lTemp = new RoyalGazetteList(); lTemp.AddRange(this); URIComparer lComparer = new URIComparer(); lTemp.Sort(lComparer.Compare); int lIndex = 0; while (lIndex < lTemp.Count) { RoyalGazette lEntry = lTemp[lIndex]; lTemp.RemoveAt(lIndex); int lFound = lTemp.BinarySearch(lEntry, lComparer); if (lFound >= 0) { lResult.Add(lEntry); } } return(lResult); }
private RoyalGazetteList DoParse(TextReader reader) { RoyalGazetteList result = new RoyalGazetteList(); String currentLine = String.Empty; Int32 dataState = -1; Int32 currentLineIndex = 0; StringBuilder entryData = new StringBuilder(); try { while ((currentLine = reader.ReadLine()) != null) { currentLineIndex++; currentLine = currentLine.Trim(); if (!String.IsNullOrWhiteSpace(currentLine)) { if (currentLine.Contains(PageStart)) { String temp = currentLine.Substring(currentLine.LastIndexOf(PageStart) + PageStart.Length + 1, 6); temp = temp.Substring(0, temp.IndexOf(' ')).Trim(); _numberOfPages = Convert.ToInt32(temp); if (_numberOfPages > 100) { _numberOfPages = 1; // something terrible went wrong with the search } } else if (currentLine.StartsWith(EntryStart)) { if (entryData.Length > 0) { var current = ParseSingeItem(entryData.ToString()); if (current != null) { result.Add(current); } else { dataState++; // failed to parse! } entryData.Remove(0, entryData.Length); } dataState++; } else if (dataState >= 0) { entryData.Append(currentLine.Trim() + " "); } } } if (entryData.Length > 0) { var current = ParseSingeItem(entryData.ToString()); if (current != null) { result.Add(current); } } } catch (IOException) { } return(result); }