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); }
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; }