예제 #1
0
        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();
                }
            }
        }
예제 #2
0
        /// <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();
        }
예제 #3
0
 /// <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();
         }
     }
 }
예제 #4
0
 /// <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;
 }