public void DoExportToExcel(List <IExportReferrals> list)
        {
            if (list == null || list.Count == 0)
            {
                return;
            }
            parent.Cursor = Cursors.WaitCursor;
            ListtoDataTableConvertor convertor = new ListtoDataTableConvertor();
            DataTable dt = convertor.ToDataTable(list);

            ExportToExcel.Export(dt);
            parent.Cursor = Cursors.Default;
        }
        public void DoExportToExcel <T>(DataGridViewColumnCollection shown = null)
        {
            if (ReportGrid.DataSource == null || ReportGrid.RowCount == 0)
            {
                return;
            }
            parent.Cursor = Cursors.WaitCursor;
            ListtoDataTableConvertor convertor      = new ListtoDataTableConvertor();
            SortableBindingList <T>  gridDatasource = ReportGrid.DataSource as SortableBindingList <T>;
            DataTable dt = convertor.ToDataTable(gridDatasource.ToList(), shown);

            ExportToExcel.Export(dt);
            parent.Cursor = Cursors.Default;
        }
 partial void ExportIndividuals(NSObject sender)
 {
     try
     {
         if (Document == null)
         {
             NoDocumentLoaded();
             return;
         }
         ListtoDataTableConvertor convertor = new ListtoDataTableConvertor();
         DataTable dt = convertor.ToDataTable(new List <IExportIndividual>(FamilyTree.Instance.AllIndividuals));
         ExportToExcel.Export(dt, "Individuals");
         Analytics.TrackAction(Analytics.ExportAction, Analytics.ExportIndEvent);
     } catch (Exception e)
     {
         UIHelpers.ShowMessage($"Problem exporting Individuals: {e.Message}");
     }
 }
 partial void ExportLooseDeaths(NSObject sender)
 {
     try
     {
         if (Document == null)
         {
             NoDocumentLoaded();
             return;
         }
         ListtoDataTableConvertor  convertor = new ListtoDataTableConvertor();
         List <IDisplayLooseDeath> list      = FamilyTree.Instance.LooseDeaths().ToList();
         list.Sort(new LooseDeathComparer());
         DataTable dt = convertor.ToDataTable(list);
         ExportToExcel.Export(dt, "LooseDeaths");
         Analytics.TrackAction(Analytics.ExportAction, Analytics.ExportLooseDeathsEvent);
     }
     catch (Exception e)
     {
         UIHelpers.ShowMessage($"Problem exporting Loose Deaths: {e.Message}");
     }
 }