private Sale BuildObject(CSVSaleDto dto) { return(new Sale() { Country = Countries[dto.CountryName], ItemType = ItemTypes[dto.ItemTypeName], OrderDate = dto.OrderDate, OrderPriority = OrderPriorities[dto.OrderPriorityName], Region = Regions[dto.RegionName], OrderID = dto.OrderID, SalesChannel = SalesChannels[dto.SalesChannelName], ShipDate = dto.ShipDate, TotalCost = dto.TotalCost, TotalProfit = dto.TotalProfit, TotalRevenue = dto.TotalRevenue, UnitCost = dto.UnitCost, UnitPrice = dto.UnitPrice, UnitSold = dto.UnitSold }); }
public List<T> ReadDocument<T>(StreamReader reader) where T : class { List<T> result = new List<T>(); using (reader) { bool firstLine = true; while (!reader.EndOfStream) { var line = reader.ReadLine(); if (firstLine) { firstLine = false; continue; }; var values = line.Split(','); CSVSaleDto item = new CSVSaleDto(); item.RegionName = values[0]; item.CountryName = values[1]; item.ItemTypeName = values[2]; item.SalesChannelName = values[3]; item.OrderPriorityName = values[4]; item.OrderDate = ParseDateTime(values[5]); item.OrderID = int.Parse(values[6]); item.ShipDate = ParseDateTime(values[7]); item.UnitSold = int.Parse(values[8]); item.UnitPrice = ParseDecimal(values[9]); item.UnitCost = ParseDecimal(values[10]); item.TotalRevenue = ParseDecimal(values[11]); item.TotalCost = ParseDecimal(values[12]); item.TotalProfit = ParseDecimal(values[13]); result.Add(item as T); } } return result; }