public override double Compare(Node node) { var bdn = node as BibliographicDescriptionNode; if (bdn == null) { throw new Exception("Not Bibliographic DescriptionNode"); } double difference = 0; difference += TitleNode.Compare(bdn.TitleNode); if (difference < 0.05 || difference > 0.25) { return(difference); } difference += AutorRangeNode.Compare(bdn.AutorRangeNode); difference += PublisherNode.Compare(bdn.PublisherNode); difference += CityNode.Compare(bdn.CityNode); difference += YearNode.Compare(bdn.YearNode); difference += PageCountNode.Compare(bdn.PageCountNode); return(difference); }
public BibliographicDescriptionNode(string title, IEnumerable <string> autors, string publisher, string city, string year, string pageCount) { TitleNode = new TitleNode(title); AutorRangeNode = new AutorRangeNode(autors); PublisherNode = new PublisherNode(publisher); CityNode = new CityNode(city); YearNode = new YearNode(year); PageCountNode = new PageCountNode(pageCount); }