public static void LoadAuditFileToDb(string fileName, ScanDocHandler scanDocHandler) { bool TEST_ON_LOCAL_DATA = false; bool PROCESS_PDF_FILE = true; bool CREATE_RECORD_IN_DB = true; Dictionary<string, bool> uniqNamesTest = new Dictionary<string, bool>(); // Read file using (StreamReader sr = new StreamReader(fileName)) { while (sr.Peek() >= 0) { string line = sr.ReadLine(); string[] fields = line.Split('\t'); if ((fields[6] != "OK") || ((fields[5] == "TEST") || (fields[5] == "DELETED"))) continue; NewAuditData ad = new NewAuditData(); string uniqName = ScanDocInfo.GetUniqNameForFile(fields[4], fields[0]); if (uniqNamesTest.ContainsKey(uniqName)) { Console.WriteLine("File {0} UNIQNAME IS NOT UNIQUE", uniqName); continue; } uniqNamesTest.Add(uniqName, true); ad.ProcDateAndTime = fields[0]; ad.DocType = fields[1]; if (ad.DocType == "") { Console.WriteLine("File {0} BLANK DOC TYPE", uniqName); } ad.OrigFileName = fields[2]; ad.UniqName = uniqName; ad.DestFile = fields[3]; ad.ArchiveFile = fields[4]; if (TEST_ON_LOCAL_DATA) ad.ArchiveFile = ad.ArchiveFile.Replace(@"\\N7700PRO\Archive\ScanAdmin\ScanBackups\", @"C:\Users\Rob\Dropbox\20140227 Train\ScanBackups\"); ad.ProcMessage = fields[5]; ad.ProcStatus = fields[6]; ad.DestOk = File.Exists(ad.DestFile) ? "" : "NO"; bool arcvExists = File.Exists(ad.ArchiveFile); if (!arcvExists) { Console.WriteLine("File {0} ARCHIVE FILE missing {1}", uniqName, ad.ArchiveFile); continue; } ad.ArcvOk = arcvExists ? "" : "NO"; // Process file if (PROCESS_PDF_FILE) { if (scanDocHandler.ProcessPdfFile(ad.ArchiveFile, uniqName, true, true, true, false, true, true)) { // Create filed info record if (CREATE_RECORD_IN_DB) { DateTime docDateFiled = DateTime.ParseExact(ad.ProcDateAndTime, "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture); FiledDocInfo fdi = new FiledDocInfo(ad.UniqName); fdi.SetDocFilingInfo(ad.DocType, ad.DestFile.Replace('\\', '/'), docDateFiled, "", "", "", "", DateTime.MinValue, new TimeSpan(), "", "", ""); fdi.SetFiledAtInfo(true, docDateFiled, ad.ProcStatus + ", " + ad.ProcMessage, FiledDocInfo.DocFinalStatus.STATUS_FILED); scanDocHandler.AddFiledDocRecToMongo(fdi); } } } } } logger.Info("Finished loading from old log"); //// Sort to find duplicates //bool sortIt = false; //if (sortIt) //{ // var sortedAd = from item in _auditDataColl // orderby item.UniqName // select item; // string lastuniq = ""; // foreach (AuditData ad in sortedAd) // { // if (lastuniq == ad.UniqName) // { // Console.WriteLine("Duplicate name " + ad.UniqName); // } // lastuniq = ad.UniqName; // } //} //// Check validity //for (int rowidx = 0; rowidx < auditListView.Items.Count; rowidx++) //{ // AuditData audData = (AuditData)(auditListView.Items[rowidx]); // string destFile = audData.DestFile; // if (File.Exists(destFile)) // auditListView. //} }