/// <summary>
        /// Starts the EDI210 Matching Process
        /// </summary>
        /// <createDetail>
        /// <id>US4444</id> <by>Manoj Bhuyan</by> <date>20-08-2013</date>
        /// </createDetail>
        public void EDI210MatchingProcess()
        {
            Logger.FileLogger ediLogger = new Logger.FileLogger()
            {
                FileNameWithDateTime = Constants.EDI210LogFileName + (new Random()).Next(99999999).ToString(), FilePath = (string.IsNullOrEmpty(ConfigurationManager.AppSettings[MatchingProcess.Constants.ErrorLogFilePath]) ? string.Empty : ConfigurationManager.AppSettings[MatchingProcess.Constants.ErrorLogFilePath]), LogToConsole = Convert.ToBoolean(ConfigurationManager.AppSettings[MatchingProcess.Constants.IsLoggedToConsole])
            };
            ediLogger.LogMessage(message: "Method Entry", logType: Logger.Logger.LogType.Information, logDate: true, logTraceDetails: true);

            int PriorityCount = 0;

            PriorityCount = Convert.ToInt32(ConfigurationManager.AppSettings[Constants.PriorityThreadCount].ToString());

            //Get basic carrier settings
            carrierSettingsDataset = RetriveCarrierSetting(PriorityCount, ediLogger);
            var priorityCarriers = (from carriers in carrierSettingsDataset.Tables[carrierSettingsDataset._EDICarrierSettings.ToString()].AsEnumerable()
                                    where carriers.Field <int>(carrierSettingsDataset._EDICarrierSettings.PriorityColumn) == 1
                                    select carriers.Field <int>(carrierSettingsDataset._EDICarrierSettings.CarrierIDColumn));

            //Convert result to array
            int[] carrierlist  = priorityCarriers.ToArray <int>();
            int[] carrierlist1 = { 108 };

            this.StartEDI210MatchingProcess(carrierlist, PriorityCount, ediLogger);
            ediLogger.LogMessage(message: "Method Exit", logType: Logger.Logger.LogType.Information, logDate: true, logTraceDetails: true);
        }
        /// <summary>
        /// This function used to retrieve the basic carrier settings
        /// </summary>
        /// <returns></returns>
        /// <createDetail>
        /// <id>US4444</id> <by>Manoj Bhuyan</by> <date>20-08-2013</date>
        /// </createDetail>
        private static EDICarrierSettings RetriveCarrierSetting(int priority, Logger.FileLogger ediLogger)
        {
            ediLogger.LogMessage(message: "Method Entry", logType: Logger.Logger.LogType.Information, logDate: true, logTraceDetails: true);

            EdiAutomationController controller         = new EdiAutomationController();
            EDICarrierSettings      ediCarrierSettings = controller.RetriveCarrierSettings(0, priority, Convert.ToInt32(EDITypes.EDI210));

            ediLogger.LogMessage(message: "Method Exit", logType: Logger.Logger.LogType.Information, logDate: true, logTraceDetails: true);

            return(ediCarrierSettings);
        }