Beispiel #1
0
        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;
        }
Beispiel #2
0
        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;
            }
        }