public override LoadUpdatesResult LoadUpdates(PriceType type, bool forceUpdate) { var xmlPriceLoader = new XmlPriceLoader(_colorCodeBuilder); var oldPriceLoader = new NewestFileSystemPriceLoader(xmlPriceLoader); var newPriceLoader = new SingleFilePriceLoader(xmlPriceLoader); PriceLoadResult newPriceLoadResult; PriceLoadResult oldPriceLoadResult = null; switch (type) { case PriceType.Stock: newPriceLoadResult = newPriceLoader.Load<StockXmlItemList>(PriceUrl); if (!forceUpdate) { oldPriceLoadResult = oldPriceLoader.Load<StockXmlItemList>(ArchiveDirectory); } break; case PriceType.Full: newPriceLoadResult = newPriceLoader.Load<FullXmlItemList>(PriceUrl); if (!forceUpdate) { oldPriceLoadResult = oldPriceLoader.Load<FullXmlItemList>(ArchiveDirectory); } break; case PriceType.Discount: throw new NotImplementedException(); default: throw new ArgumentOutOfRangeException(); } return new LoadUpdatesResult(newPriceLoadResult, oldPriceLoadResult, newPriceLoadResult.Success); }
public override LoadUpdatesResult LoadUpdates(PriceType type, bool forceUpdate) { var priceFormat = GetPriceFormat(_priceFormatFile); var csvPriceLoader = new CsvPriceLoader(_priceEncoding, priceFormat); var newPriceLoader = new SingleFilePriceLoader(csvPriceLoader); var newPriceLoadResult = newPriceLoader.Load <string>(PriceUrl); PriceLoadResult oldPriceLoadResult = null; if (!forceUpdate) { var oldPriceLoader = new NewestFileSystemPriceLoader(csvPriceLoader); oldPriceLoadResult = oldPriceLoader.Load <string>(ArchiveDirectory); } return(new LoadUpdatesResult(newPriceLoadResult, oldPriceLoadResult, newPriceLoadResult.Success)); }
public override LoadUpdatesResult LoadUpdates(PriceType type, bool forceUpdate) { var priceFormat = GetPriceFormat(_priceFormatFile); var csvPriceLoader = new CsvPriceLoader(_priceEncoding, priceFormat); var newPriceLoader = new SingleFilePriceLoader(csvPriceLoader); var newPriceLoadResult = newPriceLoader.Load<string>(PriceUrl); PriceLoadResult oldPriceLoadResult = null; if (!forceUpdate) { var oldPriceLoader = new NewestFileSystemPriceLoader(csvPriceLoader); oldPriceLoadResult = oldPriceLoader.Load<string>(ArchiveDirectory); } return new LoadUpdatesResult(newPriceLoadResult, oldPriceLoadResult, newPriceLoadResult.Success); }
public override LoadUpdatesResult LoadUpdates(PriceType type, bool forceUpdate) { var xmlPriceLoader = new XmlPriceLoader(_colorCodeBuilder); var oldPriceLoader = new NewestFileSystemPriceLoader(xmlPriceLoader); var newPriceLoader = new SingleFilePriceLoader(xmlPriceLoader); PriceLoadResult newPriceLoadResult; PriceLoadResult oldPriceLoadResult = null; switch (type) { case PriceType.Stock: Log.Debug("Loading new price from {0}", PriceUrl); newPriceLoadResult = newPriceLoader.Load <StockXmlItemList>(PriceUrl); if (!forceUpdate) { Log.Debug("Loading old price from {0}", ArchiveDirectory); oldPriceLoadResult = oldPriceLoader.Load <StockXmlItemList>(ArchiveDirectory); } break; case PriceType.Full: Log.Debug("Loading new price from {0}", PriceUrl); newPriceLoadResult = newPriceLoader.Load <FullXmlItemList>(PriceUrl); if (!forceUpdate) { oldPriceLoadResult = oldPriceLoader.Load <FullXmlItemList>(ArchiveDirectory); Log.Debug("Loading old price from {0}", ArchiveDirectory); } break; case PriceType.Discount: throw new NotImplementedException(); default: throw new ArgumentOutOfRangeException(); } return(new LoadUpdatesResult(newPriceLoadResult, oldPriceLoadResult, newPriceLoadResult.Success)); }