//Sets Initial WorkOrder
        public void ProcessSystemSpecificLogs(int cs, int m, bool frontEnd, bool isTransition, bool isLoomSystem)
        {
            DataTable workOrderdt = new DataTable();
            bool      moveAhead   = StartEndTimeParser.SetStartEndTimeForWorkOrder(_workOrder, isTransition, out _start, out _end, out workOrderdt, out _WODetails);

            _logFiles.Add(ConfigurationManager.AppSettings["nextPrevWO"].ToString(), _WODetails);

            if (moveAhead)
            {
                SeUpAllKeysForSinglePC(workOrderdt);
                LogFileParser obj = new LogFileParser(_workOrder, isLoomSystem, _start, _end);
                _dbLogs = obj.Parse_DB_Logs(cs, m);
                foreach (string key in _keyTags)
                {
                    List <string> priorityLines = obj.ParseLogs(key, cs, m);
                    _logFiles.Add(key, priorityLines);
                }
            }
        }
        // This function is used to process the logsspecific to a single log type Eg VB EVENT LOG FOR CS1M1,CS2M1,F1 etc.
        public void ProcessLogKeySpecificLogs(DataTable dt, string key, bool isTransition, bool isLoomSystem, out Dictionary <string, List <string> > keySpecificLogs, out Dictionary <string, DataTable> dbLogs)
        {
            keySpecificLogs = new Dictionary <string, List <string> >();
            dbLogs          = new Dictionary <string, DataTable>();
            DataTable workOrderdt = new DataTable();
            bool      moveAhead   = StartEndTimeParser.SetStartEndTimeForWorkOrder(_workOrder, isTransition, out _start, out _end, out workOrderdt, out _WODetails); // This is a static function which gets the start end time for a particular work Order

            _logFiles.Add(ConfigurationManager.AppSettings["nextPrevWO"].ToString(), _WODetails);
            if (moveAhead)
            {
                SetSingleKey(key, workOrderdt);
                LogFileParser obj = new LogFileParser(_workOrder, isLoomSystem, _start, _end);
                foreach (DataRow dr in dt.Rows)
                {
                    string pcName = "";
                    int    cs     = 0;
                    Int32.TryParse(dr["cs"].ToString(), out cs);
                    int m = 0;
                    Int32.TryParse(dr["m"].ToString(), out m);
                    if (cs != 0)
                    {
                        pcName = "CS" + cs + "M" + (m + 1);
                    }
                    else
                    {
                        pcName = "Frontend";
                    }
                    if (key.ToLower().Contains("dblog"))
                    {
                        DataTable keyspecificDbLogs = obj.Parse_DB_Logs(cs, (m + 1));
                        dbLogs.Add(pcName, keyspecificDbLogs);
                    }
                    else
                    {
                        List <string> priorityLines = obj.ParseLogs(key, cs, (m + 1));
                        keySpecificLogs.Add(pcName, priorityLines);
                    }
                }
            }
        }