bool SaveObservation(ItemAnalysis analysis, Item item) { var recentObs = _marketObservationRepository.GetByItemAndDate(item, DateTime.Now - ObservationSaveThreshold, DateTime.Today.AddDays(1)); if (recentObs.Any()) { return(false); } var obs = new MarketObservation(); obs.Item = item; obs.EntryTime = DateTime.Now; obs.High = analysis.Highest; obs.Low = analysis.Lowest; obs.LastSalePrice = analysis.LastPrice; obs.Price = analysis.MarketPrice; obs.TotalTrades = analysis.TotalTrades; obs.UnitsOnMarket = analysis.CurrentListings; _marketObservationRepository.Save(obs); return(true); }
int MergeMarketObservations(Item source, Item target) { var toChange = _marketObservationRepository.GetByItem(source).ToArray(); foreach (var obs in toChange) { obs.Item = target; _marketObservationRepository.Save(obs); } return(toChange.Length); }
public static void ImportMarket() { var path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "market import.csv"); string obs; using (var sr = new StreamReader(path)) obs = sr.ReadToEnd(); using (var repo = new ItemRepository()) { var parser = new MarketObservationParser(new MarketObservationParserSettings(), repo, obs); using (var mRepo = new MarketObservationRepository()) { mRepo.Begin(); foreach (var o in parser.Observations) { mRepo.Save(o); } mRepo.End(); } } }