private void JournalAnalyze(List <string> lsFile_Journal) { try { readtran = new ReadTransaction(); tre_LstTrans.Nodes.Clear(); propertyGrid1.SelectedObject = null; fctxt_FullLog.Text = string.Empty; if (!cb_FullTime.Checked) { readtran.StartDate = dateTimePicker_Start.Value; readtran.EndDate = dateTimePicker_End.Value; } if (readtran.Reads(lsFile_Journal)) { string day; foreach (KeyValuePair <string, Dictionary <DateTime, object> > kTerminal in readtran.ListTransaction) { int countCycle = kTerminal.Value.Where(x => (x.Value is Cycle)).ToList().Count; int countTransaction = kTerminal.Value.Where(x => (x.Value is Transaction)).ToList().Count; int countTransactionEvent = kTerminal.Value.Where(x => (x.Value is TransactionEvent)).ToList().Count; TreeNode ndTerminal = tre_LstTrans.Nodes.Add(kTerminal.Key, String.Format("Terminal ID: {0} - Total: {1} transactions", kTerminal.Key, kTerminal.Value.Count), "Terminal", "Terminal"); foreach (KeyValuePair <DateTime, object> kTransaction in kTerminal.Value.OrderBy(x => x.Key)) { day = String.Format("{0:" + readtran.FormatDate + "}", kTransaction.Key); TreeNode ndDay = new TreeNode(day); if (ndTerminal.Nodes.ContainsKey(day)) { ndDay = ndTerminal.Nodes[day]; } else { ndDay = ndTerminal.Nodes.Add(day, day, "Date", "DateOpen"); } string textDisplay = kTransaction.Value.ToString(); TreeNode ndTransaction = ndDay.Nodes.Add(textDisplay, textDisplay); ndTransaction.Tag = kTransaction.Value; if (ndTransaction.Tag is Transaction) { ndTransaction.ImageKey = "Flag"; ndTransaction.SelectedImageKey = "Flag_Success"; } else if (ndTransaction.Tag is TransactionEvent) { ndTransaction.ImageKey = "Device"; ndTransaction.SelectedImageKey = "Device"; } else { ndTransaction.ImageKey = "Cycle"; ndTransaction.SelectedImageKey = "Cycle"; } ndDay.Text = day + " Total: " + ndDay.Nodes.Count + " transactions"; } } } } catch (Exception ex) { InitParametar.Send_Error(ex.ToString(), MethodBase.GetCurrentMethod().DeclaringType.Name, MethodBase.GetCurrentMethod().Name); } }