void bkwDataLoader_DoWork(object sender, DoWorkEventArgs e) { Dictionary <List <string>, ManualResetEvent> handle = (Dictionary <List <string>, ManualResetEvent>)((object[])e.Argument)[0]; Dictionary <ManualResetEvent, List <RowData> > Filler = (Dictionary <ManualResetEvent, List <RowData> >)((object[])e.Argument)[1]; List <string> exportFieldList = (List <string>)((object[])e.Argument)[2]; foreach (List <string> splitList in handle.Keys) { try { if (ExportPackage != null) { ExportPackageEventArgs args = new ExportPackageEventArgs(); foreach (string var in splitList) { args.List.Add(var); } foreach (string var in exportFieldList) { if (_ExportableFields.Contains(var)) { args.ExportFields.Add(var); } } ExportPackage.Invoke(this, args); Filler[handle[splitList]].AddRange(args.Items); } } catch (Exception ex) { //CurrentUser user = CurrentUser.Instance; //SmartSchool.ExceptionHandler.BugReporter.ReportException("SmartSchool", user.SystemVersion, ex, false); } finally { handle[splitList].Set(); } } }
/// <summary> /// 填入這個Package的RowData /// </summary> public List <RowData> GetExportData(IEnumerable <string> idInPackage, IEnumerable <string> selectedFields) { if (ExportPackage != null) { ExportPackageEventArgs args = new ExportPackageEventArgs(); foreach (string var in idInPackage) { args.List.Add(var); } foreach (string var in selectedFields) { if (_ExportableFields.Contains(var)) { args.ExportFields.Add(var); } } ExportPackage.Invoke(this, args); return(args.Items); } else { return(new List <RowData>()); } }