public static AbstractDiscount GetStrategyFor(Book book){ if(book.PublishedYear > 5) return new MaxDiscount(); if (book.PublishedYear > 3) return new MediumYearDiscount(); if (book.PublishedYear > 1) return new MinYearDiscount(); return new NullDiscount(); }
private List<Book> LoadBooks(XmlNodeList nodes) { var books = new List<Book>(); if (nodes == null) return books; foreach (XmlNode node in nodes) { var book = new Book(); book.ISBN = GetValueFor(node, BookProperties.ISBN); book.Title = GetValueFor(node, BookProperties.Title); book.Price = GetNumValueFor(node, BookProperties.Price); book.PublishedYear = GetIntValueFor(node, BookProperties.PublishedYear); book.Authors = LoadAuthors(node); books.Add(book); } return books; }
public void Apply(Book book){ book.Price -= Discount/100*book.Price; }