/// <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")); } }
/// <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")); } }
/// <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"); } }
/// <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")); } }
/// <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"); } }
/// <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"); } }