public async void PrependData() { XmlDataBase tb = new XmlDataBase(); List <Bar> barList = new List <Bar>(); var firstDt = new DateTime(2019, 1, 1, 5, 0, 0); barList.Add(new Bar(10, 20, 5, 12, 0, firstDt)); barList.Add(new Bar(15, 25, 10, 17, 0, firstDt.AddMinutes(5))); barList.Add(new Bar(15, 27, 8, 17, 0, firstDt.AddMinutes(10))); var instrument = new Instrument { Type = InstrumentType.Stock, Name = "GLD" }; var resolution = new Resolution(TimeFrame.Hourly, 1); var b = await tb.WriteLocalDataAsync(instrument, resolution, barList); barList.Clear(); barList.Add(new Bar(1, 20, 5, 12, 0, firstDt.AddMinutes(-60))); barList.Add(new Bar(0, 25, 10, 17, 0, firstDt.AddMinutes(-55))); barList.Add(new Bar(0, 27, 8, 17, 0, firstDt.AddMinutes(-50))); _ = tb.PrependLocalData(instrument, resolution, barList); var rbs = await tb.ReadLocalDataAsync(instrument, resolution, firstDt.AddMinutes(-60), firstDt.AddMinutes(15)); Assert.AreEqual(6, rbs.Count()); }
public async void AppendData_Last_Element_Intact() { XmlDataBase tb = new XmlDataBase(); List <Bar> barList = new List <Bar>(); DateTime dt = new DateTime(2018, 1, 1, 0, 0, 0); barList.Add(new Bar(10, 20, 5, 12, 0, dt)); barList.Add(new Bar(15, 25, 10, 17, 0, dt.AddDays(1))); barList.Add(new Bar(15, 27, 8, 17, 0, dt.AddDays(2))); var instrument = new Instrument { Type = InstrumentType.Stock, Name = "GLD" }; var resolution = new Resolution(TimeFrame.Hourly, 1); var b = await tb.WriteLocalDataAsync(instrument, resolution, barList); barList.Clear(); barList.Add(new Bar(1, 20, 5, 12, 0, dt.AddDays(3))); barList.Add(new Bar(0, 25, 10, 17, 0, dt.AddDays(4))); barList.Add(new Bar(0, 27, 8, 17, 0, dt.AddDays(5))); _ = tb.AppendLocalData(instrument, resolution, barList); var rbs = await tb.ReadLocalDataAsync(instrument, resolution, dt, dt.AddDays(5)); Assert.AreEqual(6, rbs.Count()); Assert.AreEqual(dt.AddDays(3), rbs.ElementAt(3).DateTime); }
public void PrependData() { XmlDataBase tb = new XmlDataBase(); List <Bar> barList = new List <Bar>(); barList.Add(new Bar(10, 20, 5, 12, 0, DateTime.Now, DateTime.Now)); barList.Add(new Bar(15, 25, 10, 17, 0, DateTime.Now, DateTime.Now)); barList.Add(new Bar(15, 27, 8, 17, 0, DateTime.Now, DateTime.Now)); var instrument = new Instrument { Type = InstrumentType.Stock, Name = "GLD" }; var resolution = new Resolution(TimeFrame.Hourly, 1); tb.WriteLocalData(instrument, resolution, barList); barList.Clear(); barList.Add(new Bar(1, 20, 5, 12, 0, DateTime.Now, DateTime.Now)); barList.Add(new Bar(0, 25, 10, 17, 0, DateTime.Now, DateTime.Now)); barList.Add(new Bar(0, 27, 8, 17, 0, DateTime.Now, DateTime.Now)); tb.PrependLocalData(instrument, resolution, barList); var rbs = tb.ReadLocalData(instrument, resolution, DateTime.Now, DateTime.Now); Assert.AreEqual(6, rbs.Count()); }
public TuiViewModel() { //database = new XmlStorage(); database = new DatabaseStorage(); XmlDataBase loadedDataBase = database.LoadDataBase(); Publishers = loadedDataBase?.Publishers.ToList(); NewsPapers = loadedDataBase?.NewsPapers.ToList(); }
public void SaveDataBase(XmlDataBase database) { XmlSerializer serializer = new XmlSerializer(typeof(XmlDataBase)); using (StreamWriter writer = new StreamWriter(DATABASE_NAME)) { serializer.Serialize(writer, database); } }
public GuiViewModel() { XmlDataBase tempDataBase = data.LoadDataBase(); if (tempDataBase != null) { Publishers = tempDataBase.Publishers.ToList(); NewsPapers = tempDataBase.NewsPapers.ToList(); } }
public void TestFixtureSetUp() { _path = Path.GetFullPath(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"..\..\DataOut")); _xmlDb = new XmlDataBase(_path); _fileDb = new FileDataBase(_path); _xmlRepository = new Repository(_xmlDb); _fileRepository = new Repository(_fileDb); // steb by step | write file -> read file -> delete file }
public void ReadData() { XmlDataBase tb = new XmlDataBase(); var instrument = new Instrument { Type = InstrumentType.Forex, Name = "AUD/CAD" }; var rbs = tb.ReadLocalDataAsync(instrument, new Resolution(TimeFrame.Hourly, 1), new DateTime(2018, 11, 22), new DateTime(2018, 11, 22, 20, 0, 0)); //Assert.AreEqual(barList.Count, rbs.Count()); }
public XmlDataBase LoadDataBase() { XmlDataBase database = null; if (File.Exists(DATABASE_NAME)) { using (StreamReader streamReader = new StreamReader(DATABASE_NAME)) { XmlReader reader = XmlReader.Create(streamReader); XmlSerializer serializer = new XmlSerializer(typeof(XmlDataBase)); if (serializer.CanDeserialize(reader)) { database = (XmlDataBase)serializer.Deserialize(reader); } } } return(database); }
public void SaveDataBase(XmlDataBase database) { ClearDatabase(); Dictionary <string, int> publisherNameAndId = new Dictionary <string, int>(); using (SQLiteCommand command = new SQLiteCommand(connection)) { int counter = 0; foreach (Publisher publisher in database.Publishers) { command.CommandText = $"INSERT INTO Publisher(publisher_id, publishername) VALUES ('{counter}', '{publisher.Name}')"; command.ExecuteNonQuery(); publisherNameAndId.Add(publisher.Name, counter); foreach (NewsPaper paper in publisher.NewsPapers) { command.CommandText = $"INSERT INTO Newspaper(newspapername, publisher_id) VALUES('{paper.Name}', '{counter}')"; command.ExecuteNonQuery(); } ++counter; } foreach (NewsPaper paper in database.NewsPapers) { string publisherID = "NULL"; if (paper.Publisher != null && publisherNameAndId.Keys.Contains(paper.Publisher?.Name)) { publisherID = publisherNameAndId[paper.Publisher.Name].ToString(); } try { command.CommandText = $"INSERT INTO Newspaper(newspapername, publisher_id) VALUES('{paper.Name}', '{publisherID}');"; command.ExecuteNonQuery(); } catch { } } } }
public async void WriteData_Stock() { XmlDataBase tb = new XmlDataBase(); List <Bar> barList = new List <Bar>(); barList.Add(new Bar(10, 20, 5, 12, 0, DateTime.Now)); barList.Add(new Bar(9, 25, 10, 17, 0, DateTime.Now)); barList.Add(new Bar(8, 27, 8, 17, 0, DateTime.Now)); var instrument = new Instrument { Type = InstrumentType.Stock, Name = "TSLA" }; var resolution = new Resolution(TimeFrame.Hourly, 1); var b = await tb.WriteLocalDataAsync(instrument, new Resolution(TimeFrame.Hourly, 1), barList); var rbs = await tb.ReadLocalDataAsync(instrument, resolution, barList.First().DateTime, barList.Last().DateTime); Assert.AreEqual(barList.Count, rbs.Count()); }
public async void WriteData_Forex() { XmlDataBase tb = new XmlDataBase(); List <Bar> barList = new List <Bar>(); barList.Add(Helper.GetUpBar()); barList.Add(Helper.GetUpBar(barList.Last(), barList.Last().DateTime.AddDays(1))); barList.Add(Helper.GetUpBar(barList.Last(), barList.Last().DateTime.AddDays(1))); barList.Add(Helper.GetUpBar(barList.Last(), barList.Last().DateTime.AddDays(1))); barList.Add(Helper.GetUpBar(barList.Last(), barList.Last().DateTime.AddDays(1))); barList.Add(Helper.GetUpBar(barList.Last(), barList.Last().DateTime.AddDays(1))); var instrument = new Instrument { Type = InstrumentType.Forex, Name = "USD/CAD" }; var b = await tb.WriteLocalDataAsync(instrument, new Resolution(TimeFrame.Hourly, 1), barList); var rbs = await tb.ReadLocalDataAsync(instrument, new Resolution(TimeFrame.Hourly, 1), barList.First().DateTime, barList.Last().DateTime); Assert.AreEqual(barList.Count, rbs.Count()); }
public void SaveData() { XmlDataBase xmldata = new XmlDataBase(NewsPapers.ToArray(), Publishers.ToArray()); data.SaveDataBase(xmldata); }