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