private void PaintTvPercent(TreeNode treeNode) { if (treeNode.Nodes.Count != 0) { Dictionary <decimal, decimal> dictionary = new Dictionary <decimal, decimal>(); //child string query = string.Format(@"select cl.term as term, fd.val as val from curve_list cl join curves c on cl.cur_id = c.cur_id join ffd ffd on ffd.fi_id = cl.fi_id join fisd_dq fd on fd.fisd_id = ffd.fisd_id where c.ident = '{0}' and ffd.fif_id = 3 and dat = to_date('{1}', 'dd.mm.yyyy')", treeNode.Text, dtpActualDate.Value.ToString("dd.MM.yyyy")); using (NpgsqlConnection connection = new NpgsqlConnection(_connection)) { connection.Open(); using (NpgsqlCommand command = new NpgsqlCommand()) { command.Connection = connection; command.CommandText = query; using (NpgsqlDataReader dataReader = command.ExecuteReader()) { while (dataReader.Read()) { decimal term = (decimal)dataReader["term"]; decimal val = (decimal)dataReader["val"]; dictionary.Add(term, val); } } } } if (dictionary.Count != 0) { var t = new PaintWindow(dictionary) { Text = treeNode.Text }; t.ShowDialog(); } } else { PortfolioPosition position = new BalancePosition(treeNode.Text, FinType.PercentCurve); TimeSeries timeSeries = _provider.GetTimeSeries(position, TimeSeriesAttribute.Close); if (timeSeries != null || timeSeries.Series.Count != 0) { var t = new PaintWindow(timeSeries.Series.ToDictionary(z => z.Key, z => z.Value)); t.ShowDialog(); } } }
public List <PortfolioPosition> GetAllPositions() { string query = @"select fi.ident as ident, ft.ident as finType from fin_instrument fi join fin_type ft on fi.ft_id = ft.ft_id"; var result = _dbLink.GetConnection().Query <finInstrument>(query); List <PortfolioPosition> positions = new List <PortfolioPosition>(result.Count()); foreach (var x in result) { FinType finType = (FinType)_mapping.Get <FinType>(x.finType, FinType.Default); BalancePosition position = new BalancePosition(x.ident, finType); positions.Add(position); } return(positions); throw new NotImplementedException(); }
public TimeSeries GetTimeSeries(Enum enumeration, TimeSeriesAttribute attribute) { if (!_mapping.FindAI(enumeration)) { return(null); } string ident = _mapping.GetAI(enumeration); BalancePosition position = new BalancePosition(ident, FinType.FxRate); KeyValuePair <PortfolioPosition, Enum> key = new KeyValuePair <PortfolioPosition, Enum>(position, attribute); if (_cache.ContainsKey(key)) { return((TimeSeries)_cache[key]); } TimeSeries timeSeries = GetTimeSeries(position, attribute); _cache.Add(key, timeSeries); return(timeSeries); }