private void ShowMessage() { switch (currentCompletedOperation) { case CompletedOperation.FailedToRemoveExistingInterfaceDevExtractionPath: MessageBox.Show("Failed to remove old InterfaceDev extraction Root Path." + Environment.NewLine + "Please Close all open file explorer from InterfaceDev and try again."); break; case CompletedOperation.InterfaceDevExtractionFailed: MessageBox.Show("InterfaceDev Extraction Failed. Please try again."); break; case CompletedOperation.GTFSExtractionFailed: MessageBox.Show("GTFS Extraction Failed. Please try again."); break; case CompletedOperation.ValidationFailed: MessageBox.Show("Validation Failed. Please try again."); break; case CompletedOperation.ValidationSuccess: MessageBox.Show("Validation Successful. Please find the validated audio file at " + outputAudioFilePath); break; default: break; } currentCompletedOperation = CompletedOperation.None; outputAudioFilePath = string.Empty; }
private void BgWorker_DoWork(object sender, DoWorkEventArgs e) { bgWorker.ReportProgress(0); object[] parameters = e.Argument as object[]; //Check if there is a request to cancel the process if (bgWorker.CancellationPending) { e.Cancel = true; bgWorker.ReportProgress(0); return; } switch ((Operation)parameters[0]) { case Operation.ExtractInterfaceDev: if (parameters.Length == 2) { bgWorker.ReportProgress(25); if (DirectoryHelper.RemoveTemporaryWorkSpaceDir(new string[] { Constants.INTERFACEDEV_EXTRACTED_PATH })) { bgWorker.ReportProgress(50); try { ZipFile.ExtractToDirectory(parameters[1].ToString(), Constants.INTERFACEDEV_EXTRACTION_ROOT_PATH); isInterfaceDevExtracted = true; } catch (Exception ex) { currentCompletedOperation = CompletedOperation.InterfaceDevExtractionFailed; } } else { currentCompletedOperation = CompletedOperation.FailedToRemoveExistingInterfaceDevExtractionPath; } bgWorker.ReportProgress(75); e.Result = e.Argument; bgWorker.ReportProgress(100); } break; case Operation.ExtractGTFS: if (parameters.Length == 3) { bgWorker.ReportProgress(25); string SuperClientPath = string.Format(Constants.SUPERCLIENT_EXTRACTION_PATH, parameters[2].ToString()); string GTFSExtractionPath = string.Format(Constants.GTFS_EXTRACTION_PATH, parameters[2].ToString()); if (DirectoryHelper.CleanDirectory(SuperClientPath) && DirectoryHelper.CleanDirectory(GTFSExtractionPath)) { bgWorker.ReportProgress(50); try { ZipFile.ExtractToDirectory(parameters[1].ToString(), GTFSExtractionPath); isGTFSExtracted = true; } catch (Exception ex) { currentCompletedOperation = CompletedOperation.GTFSExtractionFailed; } bgWorker.ReportProgress(75); } e.Result = e.Argument; bgWorker.ReportProgress(100); } break; case Operation.RunValidation: if (parameters.Length == 3) { bgWorker.ReportProgress(20); Agency agency = (Agency)parameters[1]; SQLServerInfo sQLServerInfo = (SQLServerInfo)parameters[2]; string sipeImporteExePath = string.Format(Constants.SIPEIMPORT_EXE_PATH, agency.Name); UpdateDBConnectionString(sipeImporteExePath, sQLServerInfo); ProcessHelper sipeImportProcess = new ProcessHelper(sipeImporteExePath); bgWorker.ReportProgress(40); //sipeImportProcess.RunProcess(); if (sipeImportProcess.RunProcess()) { bgWorker.ReportProgress(60); string SuperClientPath = string.Format(Constants.SUPERCLIENT_EXTRACTION_PATH, agency.Name); string Index_Pour_Calsule_Audio_File_Path = DirectoryHelper.GetIndexPourCapsulesAudioFileLocation(SuperClientPath, agency.Name); bgWorker.ReportProgress(80); if (!string.IsNullOrEmpty(Index_Pour_Calsule_Audio_File_Path)) { try { string validatedAudioFileOutputRootPath = string.Format(Constants.VALIDATED_AUDIO_FILE_OUTPUT_PATH, agency.Name); string validatedAudioFileOutputPath = Path.Combine(validatedAudioFileOutputRootPath, Path.GetFileName(Index_Pour_Calsule_Audio_File_Path)); DirectoryHelper.FileCopy(Index_Pour_Calsule_Audio_File_Path, validatedAudioFileOutputPath); //EmailHelper.Instance.Send(agency.EmailAddress, Index_Pour_Calsule_Audio_File_Path); bgWorker.ReportProgress(90); currentCompletedOperation = CompletedOperation.ValidationSuccess; outputAudioFilePath = validatedAudioFileOutputPath; } catch (Exception ex) { currentCompletedOperation = CompletedOperation.FaildToCopyAudioFile; } } else { currentCompletedOperation = CompletedOperation.ValidationFailed; } } else { currentCompletedOperation = CompletedOperation.ValidationFailed; } e.Result = e.Argument; bgWorker.ReportProgress(100); } break; default: break; } }