コード例 #1
0
        private void DoGood_Click(object sender, EventArgs e)
        {
            ReportTree.Nodes.Clear();

            var lines = File.ReadAllLines(pathToMainBill, Encoding.UTF8);
            var bills = lines.Select(x => new Bill(x));

            TradePoints = new List <TradePoint>();
            foreach (var bill in bills)
            {
                var currentGroup = TradePoints.FirstOrDefault(x => x.GroupDesc == bill.Desc);
                if (currentGroup == null)
                {
                    currentGroup = new TradePoint(bill.Desc, bill.Currency);
                    TradePoints.Add(currentGroup);
                }
                currentGroup.Bills.Add(bill);
            }

            TradePoints = TradePoints.OrderByDescending(x => x.MainSumm).ToList();

            SpendingGroups.ForEach(x => ReportTree.Nodes.Add(CreateTreeNode(x)));

            var otherNode = new TreeNode($"Остальное. Сумма: {TradePoints.Sum(x => x.MainSumm)}. Счетов: {TradePoints.Sum(x => x.Bills.Count())}");

            TradePoints.ForEach(x => otherNode.Nodes.Add(x.Guid.ToString(), x.ToString()));
            ReportTree.Nodes.Add(otherNode);
        }
コード例 #2
0
 private void Init()
 {
     SpendingGroupComboBox.Items.Clear();
     SpendingGroups.ForEach(x => SpendingGroupComboBox.Items.Add(x.Name));
     MainPathLabel.Text        = pathToMainBill;
     SaveSettingsBtn.Enabled   = false;
     AddItemToGroupBtn.Enabled = false;
     NewGroupName.Text         = string.Empty;
 }