コード例 #1
0
        private void Refresh(CategoryOrdersView categoryOrders)
        {
            BeginUpdate();

            foreach (var rootNode in Nodes)
            {
                RefreshNode(rootNode as Node, categoryOrders);
            }

            EndUpdate();
        }
コード例 #2
0
        private float RefreshNode(Node node, CategoryOrdersView orders)
        {
            if (node == null)
            {
                Debugger.Break();
                return(0);
            }
            if (!node.HasChildren)
            {
                var total = orders.Get(node[2]);
                node[1] = total.ToString();
                return(total);
            }
            float sum = 0;

            foreach (var child in node.Nodes)
            {
                sum += RefreshNode(child as Node, orders);
            }

            node[1] = sum.ToString();
            return(sum);
        }
コード例 #3
0
 public async Task RefreshAsync(DateTime from, DateTime to)
 {
     var progress = new Progress <CategoryOrdersView>(s => Refresh(s));
     await CategoryOrdersView.GetInstanceAsync(progress);
 }
コード例 #4
0
    public async Task <CategoryOrdersView> GetInstanceAsync(DateTime from, DateTime to, IProgress <CategoryOrdersView> progress)
    {
        var inst = new CategoryOrdersView(progress);

        inst.Init(from, to);
    }