Facebook
From Ivory Bat, 3 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 60
  1.    var result = new List<FactOnlineSalesCsv>();
  2.             string orderKey = "";
  3.             int orderKeyIndex = 1;
  4.  
  5.             foreach(var item in order)
  6.             {
  7.                 result.Add(new FactOnlineSalesCsv
  8.                 {
  9.                     OrderKey = item.OrderKey,
  10.                     PaymentMethodKey = item.PaymentMethodKey,
  11.                     ProductKey = item.ProductKey,
  12.                     ChannelKey = item.ChannelKey,
  13.                     CustomerKey = item.CustomerKey,
  14.                     DeliveryMethodKey = item.DeliveryMethodKey,
  15.                     OrderDateKey = dimDateCsv.FirstOrDefault(t => t.FullDate == item.OrderDate).DateKey,
  16.                     ShipDateKey = dimDateCsv.FirstOrDefault(t => t.FullDate == item.DeliveryDate).DateKey,
  17.                     ProductCost = 0.0475 * (double)item.TransactionPrice,
  18.                     DeliveryCost = Math.Round(item.DeliveryCost / item.Quantity, 2),
  19.                     DiscountPctg = item.DiscountPctg,
  20.                     DiscountAmount = item.DiscountAmount,
  21.                     CatalogPrice = item.CatalogPrice,
  22.                     OrderLineNumber = orderKey == item.OrderKey ? orderKeyIndex + 1 : 1,
  23.                     Quantity = item.Quantity,
  24.                     SalesTerritoryKey = dimSalesTerritoryCsv.FirstOrDefault(t => t.CountryKey == item.CountryKey).SalesTerritoryKey,
  25.                     TransactionPrice = item.TransactionPrice
  26.                 });
  27.  
  28.                 if(orderKey == item.OrderKey)
  29.                 {
  30.                     orderKeyIndex += 1;
  31.                 }
  32.                 else
  33.                 {
  34.                     orderKeyIndex = 1;
  35.                 }
  36.  
  37.                 orderKey = item.OrderKey;