public static void DMInit(object objectParameters) { moduleControlDataBlock = (ModuleControlDataBlock)objectParameters; threadParameters = moduleControlDataBlock.ThreadParameters; try { // Initialize Ready/Abort Event and threadpool ModuleReadyEvent = threadParameters.ModuleReadyEvent; ModuleAbortEvent = threadParameters.ModuleAbortEvent; moduleThreadPool = threadParameters.moduleThreadPool; ModuleReadyEvent.Set(); Debug.WriteLine("DMInit complete Phase 1 Initialization"); // Wait for core StartWork Signal ModuleStartWorkEvent = threadParameters.ModuleStartWorkEvent; ModuleStartWorkEvent.WaitOne(); Debug.WriteLine("DMInit complete Phase 2 Initialization"); // // Main Thread of DM module (begin) // // Initialize dictionary manager recordDictionaryManager = new RecordDictionaryManager(); // Whenever the SaveRecord Event is called, DMSavingRecordWrapper // will be called RecordSavingTriggerd += new SaveRecordEventHanlder( DMSavingRecordWrapper); Debug.WriteLine("DM module is working..."); // Check ModuleAbortEvent periodically while (!ModuleAbortEvent .WaitOne((int)TimeInterval.VeryVeryShortTime)) { // Does nothing and wait for abort event } Debug.WriteLine("DM module is aborting."); CleanupExit(); } catch (Exception ex) { Debug.WriteLine(ex.Message); Debug.WriteLine("DM module thread failed."); threadParameters.ModuleInitFailedEvent.Set(); Debug.WriteLine("DM ModuleInitFailedEvent Set"); CleanupExit(); } }
public static void PrintDictionary(object obj) { dynamic[] or = RecordDictionaryManager.getAllCleanRecords(); Debug.WriteLine("____________________________________________________________________"); Debug.WriteLine("Current Count is " + or.Count()); for (int i = 0; i < or.Length; i++) { if (or[i].GetType().ToString().Contains("Flood")) { int id = or[i].RecordID; int wl = (or[i]).waterLevel; string cl = or[i].currentLongitude; string clt = or[i].currentLatitude; string ct = or[i].currentTimeStamp; Debug.WriteLine("Flood Record:\n" + "ID :" + id + "\nWaterLevel: " + wl + "\nCurrent Latitude: " + cl + "\nCurrent Longitude: " + clt + "\nCurrent TimeStamp: " + ct + "\nPossible Cause:"); for (int j = 0; j < or[i].PossibleCauseOfDisaster.Count; j++) { string tempCause = or[i].PossibleCauseOfDisaster[j]; Debug.WriteLine(tempCause); } Debug.WriteLine(""); } else { int id = or[i].RecordID; int dead = or[i].deathTroll; int injury = or[i].injuryTroll; Debug.WriteLine("LandSlides Record:\n" + "ID :" + id + "\ndeathTroll: " + dead + "\ninjuryTroll: " + injury ); } } Debug.WriteLine("____________________________________________________________________"); }