/// <summary> /// Prints search results data to the console. /// </summary> /// <param name="resultsIn">List of orders stored in the Searcher</param> public static void PrintResults(OrderChecklistSet[] resultsIn) { // Show detailed final output here Console.WriteLine("========================================================================================================\n"); Console.WriteLine(CenteredString("--- RESULTS ---", 104)); Console.WriteLine(); Console.WriteLine("========================================================================================================"); Console.WriteLine(); Console.WriteLine("{0,-25}{1,-16}{2}", "Amazon Order ID", "PID", "Filename"); Console.WriteLine(); for (int i = 0; i < resultsIn.Length; i++) Console.WriteLine("{0,-25}{1,-16}{2}", resultsIn[i].Order, Regex.Match(resultsIn[i].LocationFilename.ToString(), "[0-9]{8}"), Path.GetFileName(resultsIn[i].LocationFilename.ToString())); }
/// <summary> /// Spawns a Searcher to search retrieved files for Amazon order numbers. Automatically conducts search operation upon completion of object initialization. /// </summary> /// <param name="pidsIn">List of pids to search</param> /// <param name="ordersIn">List of order numbers to find</param> /// <param name="dir">Folder for this session created by the Retriever</param> /// <param name="isVerbose">Verbose console output feedback</param> /// <param name="matchMultiple">Continue searching for order after first match</param> public Searcher(string[] pidsIn, string[] ordersIn, string dir, bool isVerbose, MatchModes matchModeIn) { Console.Write("\nSpawning Searcher... \n"); // Initialize properties this.PidSearchChecklist = new PidChecklistPair[pidsIn.Length]; for (int i = 0; i < pidsIn.Length; i++) PidSearchChecklist[i] = new PidChecklistPair(pidsIn[i], false); this.TargetDirectory = dir; this.NumOrdersFound = 0; this.CurrentOrderToFind = new StringBuilder(""); this.CurrentPidSearch = new StringBuilder(""); this.VerboseOutput = isVerbose; this.SearchMatchMode = matchModeIn; switch (SearchMatchMode) { case MatchModes.Single: this.OrderFindChecklist = new OrderChecklistSet[ordersIn.Length]; for (int i = 0; i < ordersIn.Length; i++) OrderFindChecklist[i] = new OrderChecklistSet(ordersIn[i], false, ""); break; case MatchModes.Multiple: case MatchModes.AmzEU: this.OrderFindChecklist = new OrderChecklistSet[ordersIn.Length]; for (int i = 0; i < ordersIn.Length; i++) OrderFindChecklist[i] = new OrderChecklistSet(ordersIn[i], false, ""); this.MultipleOrderFindChecklist = new List<MultipleOrderResultListSet>(); break; default: break; } if (VerboseOutput) { Console.WriteLine(); Console.WriteLine("SEARCHER PARAMETERS"); Console.WriteLine(string.Concat("Num of orders to find: ", OrderFindChecklist.Length)); Console.WriteLine(); } if (OrderInputIsValid()) DoLocate(); }