コード例 #1
0
 public static void AssertSensibleValue(PortfolioNode node)
 {
     Assert.NotNull(node);
     Assert.NotNull(node.UniqueId);
     Assert.NotNull(node.Name);
     Assert.NotNull(node.Positions);
     Assert.NotNull(node.SubNodes);
     AssertSensibleValue(node.Positions);
     AssertSensibleValue(node.SubNodes);
 }
コード例 #2
0
        private IEnumerable <PortfolioViewTreeNode> GetPortfolioNodesInner(PortfolioNode node, int depth)
        {
            yield return(new PortfolioViewTreeNode(node.UniqueId, node.Name, ComputationTargetType.PortfolioNode, depth));

            foreach (var position in node.Positions)
            {
                var security = _securityFactory.GetAction(position.SecurityKey);
                yield return(new PortfolioViewTreeNode(position.UniqueId, ComputationTargetType.Position, security, depth + 1, position.Quantity));
            }

            foreach (var portfolioNode in node.SubNodes)
            {
                foreach (var treeNode in GetPortfolioNodesInner(portfolioNode, depth + 1))
                {
                    yield return(treeNode);
                }
            }
        }
コード例 #3
0
 public SimplePortfolio(PortfolioNode root, UniqueId identifier, string name)
 {
     _root       = root;
     _identifier = identifier;
     _name       = name;
 }
コード例 #4
0
 private static int CountRows(PortfolioNode portfolio)
 {
     return((1 + portfolio.Positions.Count()) + portfolio.SubNodes.Sum(n => CountRows(n)));
 }
コード例 #5
0
 public SimplePortfolio(PortfolioNode root, UniqueId identifier, string name)
 {
     _root = root;
     _identifier = identifier;
     _name = name;
 }