コード例 #1
0
        public List <RevenueDetail> LoadFromCsv(string csv)
        {
            Console.WriteLine("Truck, Week, Date, NetRevenue");
            List <RevenueDetail> truckRevenue = new List <RevenueDetail>();

            using (var sr = new StringReader(csv))
            {
                sr.ReadLine(); // advance past 1st line.
                string line    = "";
                string truckId = "";
                while ((line = sr.ReadLine()) != null)
                {
                    if (line == "")
                    {
                        truckId = ReadTruckId(sr);
                    }
                    else
                    {
                        string[]      row    = line.Split(',');
                        RevenueDetail detail = ParseRow(row);
                        detail.Truck = truckId;
                        truckRevenue.Add(detail);
                        Console.WriteLine("{0}, {1}, {2:MM/dd/yyyy}, {3}", truckId,
                                          detail.Week, detail.Date, GetRevenue(detail));
                    }
                }
            }

            return(truckRevenue);
        }
コード例 #2
0
        private double GetRevenue(RevenueDetail detail)
        {
            double revenue = 0;

            revenue += (detail.Linehaul * 0.50);
            revenue += (detail.Accesorials * 0.20);
            return(revenue);
        }
コード例 #3
0
        private RevenueDetail ParseRow(string[] row)
        {
            RevenueDetail detail = new RevenueDetail();
            string        date   = GetColumn(row, Column.Date);

            detail.Date          = DateTime.Parse(date);
            detail.Linehaul      = GetColumnAsDouble(row, Column.Linehaul);
            detail.Layover       = GetColumnAsDouble(row, Column.Layover);
            detail.Other         = GetColumnAsDouble(row, Column.Other);
            detail.StopOff       = GetColumnAsDouble(row, Column.StopOff);
            detail.Canada        = GetColumnAsDouble(row, Column.Canada);
            detail.Accesorials   = GetColumnAsDouble(row, Column.Accesorials);
            detail.Miles         = GetColumnAsDouble(row, Column.Miles);
            detail.Detention     = GetColumnAsDouble(row, Column.Detention);
            detail.DeadHead      = GetColumnAsDouble(row, Column.DeadHead);
            detail.HandLoad      = GetColumnAsDouble(row, Column.HandLoad);
            detail.Tolls         = GetColumnAsDouble(row, Column.Tolls);
            detail.Bonus         = GetColumnAsDouble(row, Column.Bonus);
            detail.EmptyMove     = GetColumnAsDouble(row, Column.EmptyMove);
            detail.Other         = GetColumnAsDouble(row, Column.Other);
            detail.FuelSurcharge = GetColumnAsDouble(row, Column.FuelSurcharge);

            return(detail);
        }