当前位置: 首页>>代码示例>>C#>>正文


C# CsvConfiguration.RegisterClassMap方法代码示例

本文整理汇总了C#中CsvConfiguration.RegisterClassMap方法的典型用法代码示例。如果您正苦于以下问题:C# CsvConfiguration.RegisterClassMap方法的具体用法?C# CsvConfiguration.RegisterClassMap怎么用?C# CsvConfiguration.RegisterClassMap使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CsvConfiguration的用法示例。


在下文中一共展示了CsvConfiguration.RegisterClassMap方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Read

        public Fact[] Read(string message)
        {
            var csvConfig = new CsvConfiguration
            {
                Delimiter = "|",
                Encoding = Encoding.UTF8,
                HasHeaderRecord = true,
            };
            csvConfig.RegisterClassMap<FactMap>();
            csvConfig.CultureInfo = CultureInfo.InvariantCulture;

            using (var reader = new StringReader(message))
            using (var parser = new CsvHelper.CsvReader(reader, csvConfig))
            {
                return parser.GetRecords<Fact>().ToArray();
            }
        }
开发者ID:devmankz,项目名称:Depmon,代码行数:17,代码来源:CsvReader.cs

示例2: Build

        /// <summary>
        /// Builds a task to load the currency dimension.
        /// </summary>
        /// <returns>A task for loading the currency dimension.</returns>
        public ITask Build()
        {
            using (var builder = new SimpleDataflowBuilder<Currency>())
            {
                var currencyFile = Path.Combine(Program.Options.SourcePath, "currency.csv");

                var csvConfiguration = new CsvConfiguration { HasHeaderRecord = false, Delimiter = "\t" };
                csvConfiguration.RegisterClassMap<CurrencyFileMap>();

                return builder
                    .CsvSource(currencyFile, csvConfiguration)
                    .BulkLoad(
                        "dbo.DimCurrency",
                        this.targetFactory,
                        new Dictionary<string, string>()
                        {
                            { "AlternateKey", "CurrencyAlternateKey" },
                            { "Name", "CurrencyName" }
                        })
                    .Build("Load currency dimension");
            }
        }
开发者ID:jsnape,项目名称:deeply,代码行数:26,代码来源:CurrencyLoader.cs

示例3: BuildProductTask

        /// <summary>
        /// Builds the product loader tasks.
        /// </summary>
        /// <returns>A task used to load the product subcategory table.</returns>
        private ITask BuildProductTask()
        {
            using (var builder = new SimpleDataflowBuilder<Product>())
            {
                var productFile = Path.Combine(Program.Options.SourcePath, "Product.csv");

                var csvConfiguration = new CsvConfiguration { HasHeaderRecord = false, Delimiter = "\t" };
                csvConfiguration.RegisterClassMap<ProductFileMap>();

                return builder
                    .CsvSource(productFile, csvConfiguration)
                    .Map(x =>
                    {
                        x.ProductSubcategoryKey =
                            this.productSubcategoryMapper.Map(
                                x.ProductSubcategoryAlternateKey.ToString(CultureInfo.CurrentCulture));

                        return x;
                    })
                    .BulkLoad(
                        "dbo.DimProduct",
                        this.targetFactory,
                        new Dictionary<string, string>()
                        {
                            { "ProductSubcategoryKey", "ProductSubcategoryKey" },
                            { "AlternateKey", "ProductAlternateKey" },
                            { "Name", "EnglishProductName" },
                        })
                    .Build("Load product dimension");
            }
        }
开发者ID:jsnape,项目名称:deeply,代码行数:35,代码来源:ProductLoader.cs

示例4: BuildProductCategoryTask

        /// <summary>
        /// Builds the product category loader tasks.
        /// </summary>
        /// <returns>A task used to load the product category table.</returns>
        private ITask BuildProductCategoryTask()
        {
            using (var builder = new SimpleDataflowBuilder<ProductCategory>())
            {
                var categoryFile = Path.Combine(Program.Options.SourcePath, "ProductCategory.csv");

                var csvConfiguration = new CsvConfiguration { HasHeaderRecord = false, Delimiter = "\t" };
                csvConfiguration.RegisterClassMap<ProductCategoryFileMap>();

                return builder
                    .CsvSource(categoryFile, csvConfiguration)
                    .BulkLoad(
                        "dbo.DimProductCategory",
                        this.targetFactory,
                        new Dictionary<string, string>()
                        {
                            { "AlternateKey", "ProductCategoryAlternateKey" },
                            { "Name", "EnglishProductCategoryName" },
                            { "SpanishName", "SpanishProductCategoryName" },
                            { "FrenchName", "FrenchProductCategoryName" }
                        })
                    .Build("Load product category dimension");
            }
        }
开发者ID:jsnape,项目名称:deeply,代码行数:28,代码来源:ProductLoader.cs

示例5: ExtraireRaws

        // Import des raws
        private ICollection<OperationRawSG> ExtraireRaws(StreamReader streamReader, IList<string> _erreurs)
        {
            /* A new configuration instance that you can change at will */
            CsvConfiguration config = new CsvConfiguration();
            config.Delimiter = ";";
            config.RegisterClassMap<SGOperationRawMapClass>();

            /* Give it to your CsvReader */
            CsvReader csvReader = new CsvReader(streamReader, config);
            IEnumerable<OperationRawSG> _raws = new List<OperationRawSG>();
            try
            {
                _raws = csvReader.GetRecords<OperationRawSG>().Reverse().ToList();
                foreach (var item in _raws)
                {
                    item.Etat = EtatOperationRaw.CREEE;
                    item.Libelle = this.Egaliser(item.Libelle);
                    item.Detail = this.Egaliser(item.Detail);
                }
            }
            catch (Exception e)
            {
                var message = "Les écritures du fichier importé ne semblent pas correctement formattées. Etês-vous certain de charger un fichier Société générale ?";
                _erreurs.Add(message);
                var message2 = e.Message;
                _erreurs.Add(message2);
            }

            // return
            return _raws.ToList();
        }
开发者ID:paulkornikov,项目名称:Pragonas,代码行数:32,代码来源:ChargementService.cs

示例6: OnCommandExportContent

        private void OnCommandExportContent(object sender, EventArgs e) {
            // Export to CSV
            IDataMigrationView view = base._view as IDataMigrationView;
            IDataMigrationModel model = base._model as IDataMigrationModel;
            PresenterBase.SetModelPropertiesFromView<IDataMigrationModel, IDataMigrationView>(
                ref model, view
            );
            IMainPresenter presenter = SimpleResolver.Instance.Get<IMainPresenter>();
            try {
                if (SyncContext != null) {
                    SyncContext.Post(delegate {
                        presenter.EnableControl(false);
                        presenter.ActivateSpinner(true);
                        presenter.UpdateProgressInfo("Preparing Report...");
                    }, null);
                }

                FileInfo fileInfo = new FileInfo(model.OutputFileName);
                if (Directory.Exists(fileInfo.DirectoryName)) {
                    Thread writeReport = new Thread(() => {
                        CsvConfiguration config = new CsvConfiguration() {
                            HasHeaderRecord = true,
                            Delimiter = ",",
                            Encoding = System.Text.Encoding.UTF8
                        };
                        config.RegisterClassMap(new DataMigrationHeaderMap());
                        int total = model.Contents.Count;
                        using (CsvWriter writer = new CsvWriter(new StreamWriter(model.OutputFileName), config)) {
                            writer.WriteHeader<DataMigrationHeaderRecord>();
                            for (int i = 0; i < model.Contents.Count; i++) {
                                ContentDisplayListViewItemModel lvItem = model.Contents[i];
                                writer.WriteField<string>(!string.IsNullOrEmpty(lvItem.OwnerName) ? lvItem.OwnerName : "");
                                writer.WriteField<string>(lvItem.Email);
                                writer.WriteField<string>(lvItem.ItemPathDisplay);
                                writer.WriteField<string>(!string.IsNullOrEmpty(lvItem.ItemPathId) ? lvItem.ItemPathId : "");
                                writer.WriteField<string>(lvItem.ItemName);
                                writer.WriteField<string>(!string.IsNullOrEmpty(lvItem.ItemId) ? lvItem.ItemId : "");
                                writer.WriteField<string>(lvItem.ItemType);
                                writer.WriteField<string>(!string.IsNullOrEmpty(lvItem.ItemSize) ? lvItem.ItemSize : "");
                                writer.WriteField<string>(!string.IsNullOrEmpty(lvItem.Created) ? lvItem.Created : "");
                                writer.WriteField<string>(!string.IsNullOrEmpty(lvItem.LastModified) ? lvItem.LastModified : "");
                                writer.WriteField<string>(!string.IsNullOrEmpty(lvItem.Uploaded) ? lvItem.Uploaded : "");
                                writer.NextRecord();

                                if (SyncContext != null) {
                                    SyncContext.Post(delegate {
                                        presenter.UpdateProgressInfo(string.Format("Writing Record: {0}/{1}", (i + 1), total));
                                    }, null);
                                }
                            }
                        }

                        if (SyncContext != null) {
                            SyncContext.Post(delegate {
                                presenter.EnableControl(true);
                                presenter.ActivateSpinner(false);
                                presenter.UpdateProgressInfo("Completed");
                            }, null);
                        }
                    });
                    writeReport.Start();
                } else {
                    throw new InvalidDataException(ErrorMessages.INVALID_EXPORT_FOLDER);
                }
            } catch (Exception ex) {
                if (SyncContext != null) {
                    SyncContext.Post(delegate {
                        presenter.EnableControl(true);
                        presenter.ActivateSpinner(false);
                        presenter.UpdateProgressInfo("Completed with exception: " + ex.Message);
                    }, null);
                }
            }
        }
开发者ID:dropbox,项目名称:DropboxBusinessAdminTool,代码行数:74,代码来源:DataMigrationPresenter.cs


注:本文中的CsvConfiguration.RegisterClassMap方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。