Ejemplo n.º 1
0
        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);
        }