private string ImportFXRates(DataSet ds) { string res = String.Empty; //курсы пишутся через механизм импорта; //т.к. максимальное количество параметров в SQL запросе 2100, то пишется кусками по 1000 строк const int pageSize = 1000; DataSet tempDataSet; DataTable tempDataTable; FormModel model = FormModelRepository.GetFormModel("FXRate", FormModelType.ImportExport); ds.Tables[0].Columns[CurrencyCodeColumnName].ColumnName = "Currency"; ds.Tables[0].TableName = model.Caption.Replace(" ", "_"); for (int i = 0; i < ds.Tables[0].Rows.Count; i = i + pageSize) { tempDataSet = new DataSet(); tempDataTable = new DataTable(); tempDataTable = ds.Tables[0].AsEnumerable().Skip(i).Take(pageSize).CopyToDataTable(); tempDataTable.TableName = ds.Tables[0].TableName; tempDataSet.Tables.Add(tempDataTable); ImportResult result = ImportExportHelper.Import(model.MainViewName, tempDataSet); res += result.GetReport(new ImportResultTextFormatter()) + Environment.NewLine; } return(res); }