public void ReadContentsCallbackImpl(List <string[]> results) { if (dataTable.InvokeRequired) { ReadContentsCallback selfCallback = new ReadContentsCallback(ReadContentsCallbackImpl); Invoke(selfCallback, new object[] { results }); } else { // only if the resulting list is greater than 0 if (results.Count > 0) { Console.WriteLine("Total number of objects are : " + dataTable.Rows.Count); dataTable.Rows.Clear(); dataFromFile = results; dataFromFileOriginal = results; calc = new Calculator(results); fetchDataBackground.WorkerReportsProgress = true; fetchDataBackground.RunWorkerAsync(); // Load Parameters loadParameters(fileName); // calculate np, ftp, if and tss UpdateAdvanceMetrics(); } } }
/// <summary> /// Loads data from the specified file and callbacks the passed implementation /// </summary> /// <param name="fileName"></param> /// <param name="impl"></param> private void loadHrmData(string fileName, ReadContentsCallback impl) { ReadContentsCallback rcc = new ReadContentsCallback(impl); FileHandler tws = new FileHandler(fileName, rcc); Thread thread = new Thread(new ThreadStart(tws.FetchHrmData)); thread.Start(); }
/// <summary> /// Callback method for the second data grid of the comparison. /// </summary> /// <param name="results">the list of HRM data file.</param> public void OpenTwoCallbackImpl(List <string[]> results) { if (dataGridCompOne.InvokeRequired) { ReadContentsCallback selfCallback = new ReadContentsCallback(OpenTwoCallbackImpl); Invoke(selfCallback, new object[] { results }); } else { if (results.Count > 0) { Console.WriteLine("Total number of objects are : " + dataGridCompTwo.Rows.Count); dataGridCompTwo.Rows.Clear(); dataFromFile = results; backgroundWorker2.WorkerReportsProgress = true; backgroundWorker2.RunWorkerAsync(); } } }
/// <summary> /// Constructor with normal file reading configuration. /// </summary> /// <param name="fileName">the file which should be opened.</param> /// <param name="callback">the callback which will be used after async loading of the file is complete</param> public FileHandler(string fileName, ReadContentsCallback callback) { this.fileName = fileName; this.callback = callback; }