//public List<countDate> getResult(string messageMOC, string messageMTC, string messageDropCalls)
        //{

        //    try
        //    {
        //        List<countDate> count = new List<countDate>();
        //        countDate cdLocal = new countDate();

        //        DataView view = new DataView(localDataTable);
        //        DataTable distinctValue = view.ToTable(true, "time");
        //        DataRow[] timeRows = distinctValue.Select();

        //        foreach (DataRow r in timeRows)
        //        {
        //            cdLocal = new countDate();
        //            errorMessage = r[0].ToString();
        //            cdLocal.date = DateTime.Parse(r[0].ToString());
        //            DataRow[] dataRowsMOC = localDataTable.Select(string.Format("rrcMsgName = '{0}' AND time = '{1}'", messageMOC, r[0].ToString()));
        //            DataRow[] dataRowsMTC = localDataTable.Select(string.Format("rrcMsgName = '{0}' AND time = '{1}'", messageMTC, r[0].ToString()));
        //            DataRow[] dataRowsDropCalls = localDataTable.Select(string.Format("rrcMsgName = '{0}' AND time = '{1}'", messageDropCalls, r[0].ToString()));



        //            cdLocal.countMOC = dataRowsMOC.Length;
        //            cdLocal.countMTC = dataRowsMTC.Length;
        //            cdLocal.countDropCalls = dataRowsDropCalls.Length;
        //            count.Add(cdLocal);

        //        }
        //        return count;
        //    }
        //    catch(Exception ex)
        //    {
        //        errorMessage = ex.Message;
        //        return null;
        //    }

        //}
        #endregion

        public List <countDate> getResult(string messageMOC, string messageMTC, string messageDropCalls, string mainDir)
        {
            try
            {
                List <countDate>       count   = new List <countDate>();
                countDate              cdLocal = new countDate();
                TracerDatabaseComClass traceDB = new TracerDatabaseComClass(mainDir);
                string[] timeRows = traceDB.ReturnAlldates().ToArray();
                foreach (string r in timeRows)
                {
                    cdLocal = new countDate();

                    cdLocal.date = DateTime.Parse(r);

                    DataTable tableTemp = traceDB.queryByRrcMessageAndTime(messageMOC, DateTime.Parse(r));
                    cdLocal.countMOC = tableTemp.Rows.Count;

                    tableTemp        = traceDB.queryByRrcMessageAndTime(messageMTC, DateTime.Parse(r));
                    cdLocal.countMTC = tableTemp.Rows.Count;

                    tableTemp = traceDB.queryByRrcMessageAndTime(messageDropCalls, DateTime.Parse(r));
                    cdLocal.countDropCalls = tableTemp.Rows.Count;
                    count.Add(cdLocal);
                }
                return(count);
            }
            catch (Exception ex)
            {
                errorMessage = ex.Message;
                return(null);
            }
        }
        /// <summary>
        /// Get Count of the message for the specific date
        /// </summary>
        /// <param name="messages"></param>
        /// <param name="date"></param>
        /// <returns></returns>
        public List <genericDataContainer> getResult(List <string> messages, string date, List <string> IMSI, string mainDir)
        {
            List <genericDataContainer> container = new List <genericDataContainer>();
            TracerDatabaseComClass      tracDB    = new TracerDatabaseComClass(mainDir);
            genericDataContainer        localContainer;

            foreach (var im in IMSI)
            {
                localContainer      = new genericDataContainer();
                localContainer.imsi = im;
                foreach (var mess in messages)
                {
                    DataTable dataTableTemp = tracDB.customQuery(String.Format("SELECT * FROM {0} WHERE rrcMsgName = '{1}' AND time = '{2}' AND ueId Like '%{3}%'", tracDB.TableName, mess, date, im));
                    // DataRow[] data = localDataTable.Select(string.Format("rrcMsgName = '{0}' AND time = '{1}' AND ueId Like '%{1}%'", mess, date, im));
                    localContainer.count.Add(dataTableTemp.Rows.Count);
                }

                container.Add(localContainer);
            }
            return(container);
        }