private void PerformExportWork() { _fileWriter = new MyFileWriter(); try { System.Diagnostics.Debug.WriteLine("Getting Start Information"); string startPoint = tripRepository_.GetStartPointFromTrip(SelectedTripId); System.Threading.Thread.Sleep(300); var recordList = JourneyRepository_.GetExportDataSet(SelectedTripId); System.Diagnostics.Debug.WriteLine(String.Format("There are {0} records in the list", recordList.Count())); _fileWriter.WriteLine(ExportingTripRecord.GetHeader()); foreach (var record in recordList) { record.StartPoint = startPoint; _fileWriter.WriteLine(record.GetAsString()); startPoint = record.EndPoint; System.Threading.Thread.Sleep(50); } System.Threading.Thread.Sleep(1 * 1000); RunOnUiThread(() => { Toast.MakeText(this, "Export Completed", ToastLength.Long).Show(); }); } catch (Exception) { RunOnUiThread(() => { Toast.MakeText(this, "Export Completed", ToastLength.Long).Show(); }); } finally { _progressDialog.Dismiss(); } }