public static void WriteFile(FileType fileType, List <RacerDetail> racer)
        {
            var file = FileLocationEnum.None;

            if (fileType == FileType.CN)
            {
                file = FileLocationEnum.CN;
            }
            else if (fileType == FileType.ST)
            {
                file = FileLocationEnum.ST;
            }
            else if (fileType == FileType.FT)
            {
                file = FileLocationEnum.FT;
            }
            else if (fileType == FileType.Name)
            {
                file = FileLocationEnum.Name;
            }


            try
            {
                var fileLoction = FileLocation.GetFilePath(file);
                switch (fileType)
                {
                case FileType.CN:
                    WriteToFile(racer, fileLoction, FileType.CN);
                    break;

                case FileType.ST:
                    WriteToFile(racer, fileLoction, FileType.ST);
                    break;

                case FileType.FT:
                    WriteToFile(racer, fileLoction, FileType.FT);
                    break;

                case FileType.Name:
                    WriteToFile(racer, fileLoction, FileType.Name);
                    break;

                default:
                    break;
                }
            }
            catch (Exception ex)
            {
                Logger.Info("XlsReaderService.WriteFile Error:" + ex.Message);
            }
            Console.ReadLine();
        }
        public static void WriteFile(FileType fileType, List <RacerDetail> racer)
        {
            log4net.Config.XmlConfigurator.Configure();
            var fileLoction = FileLocation.GetFilePath(FileLocationEnum.Txt);

            switch (fileType)
            {
            case FileType.CN:
                if (File.Exists(fileLoction))
                {
                    File.Delete(fileLoction);
                }
                StringBuilder sb      = new StringBuilder();
                int           cnIndex = 1;
                foreach (var item in racer)
                {
                    sb.Append("<C" + cnIndex + "\t" + item.Number);
                    sb.Append(System.Environment.NewLine);
                    cnIndex++;
                }
                try
                {
                    using (System.IO.StreamWriter file = new System.IO.StreamWriter(fileLoction, true))
                    {
                        file.Write(sb.ToString());
                    }
                }
                catch (UnauthorizedAccessException ex)
                {
                    Logger.Info(ex.Message);
                }
                catch (Exception ex)
                {
                    Logger.Info(ex.Message);
                }
                break;

            default:
                break;
            }
            Console.ReadLine();
        }
        public void Extract()
        {
            string xlsFile  = string.Empty;
            string _pdfFile = string.Empty;

            var rootFolder = FileLocation.CreateBaseFolderIsfNotExists();

            var files = Directory.GetFiles(rootFolder + ConfigurationManager.AppSettings["PdfFileLocation"]).Where(x => x.EndsWith(".pdf")).ToArray();

            if (files.Length == 0)
            {
                Logger.Info("No Pdf File Found");
                return;
            }


            var      extractor = new XLSExtractor();
            FileInfo info      = null;

            extractor.RegistrationName = "NOT - FOR - RESALE - SINGLE - ENDUSER - ONLY - NO - PRIVATE - SUPPORT - [email protected]";
            extractor.RegistrationKey  = "10C9-AC43-B36E-997C-CCCF-BDEB-C9D";

            _pdfFile = files[0];

            Logger.Info("Total file Loaded: " + files.Length);
            Logger.Info("Pdf file loaded: " + _pdfFile);
            extractor.PageDataCaching = PageDataCaching.None;

            Logger.Info("Xsl file loaded: " + xlsFile);
            extractor.AutoAlignColumnsToHeader = true;
            Logger.Info("Pdf file extraction started");
            Logger.Info("Loaded file:" + files[0]);
            info     = new FileInfo(_pdfFile);
            xlsFile  = FileLocation.GetFilePath(FileLocationEnum.Xls);
            xlsFile += info.Name.Split('.')[0] + ".xls";

            try
            {
                extractor.LoadDocumentFromFile(files[0]);
                extractor.SaveToXLSFile(xlsFile);
                extractor.Reset();
            }
            catch (PDFExtractorException ex)
            {
                Logger.Info("PDFExtractorException: " + ex.Message);
            }
            if (extractor.IsDocumentLoaded)
            {
                extractor.Dispose();
            }



            XlsReaderService.ReadXls(xlsFile);
            try
            {
                var destination = FileLocation.GetFilePath(FileLocationEnum.ProcessedPdf);
                var fileName    = info.Name.Split('.')[0];
                info.MoveTo(destination + fileName + ".pdf");
            }
            catch (IOException ex)
            {
                Logger.Info("Delete Error: " + ex.Message);
            }
        }