Exemple #1
0
 private void BuildInputData()
 {
     i = 0;
     using (OleDbConnection conn = GetConnection.BIPSConn)
     {
         using (OleDbCommand cmd = new OleDbCommand(SQLCommands.GetInputSQL(inputTable, scenario), conn))
         {
             using (OleDbDataReader reader = cmd.ExecuteReader())
             {
                 while (reader.Read())
                 {
                     OutputData outputData = new OutputData();
                     outputData.OHUB                   = reader.IsDBNull((int)InputColumns.OHUB) ? "" : reader.GetString((int)InputColumns.OHUB);
                     outputData.HubMiles               = reader.IsDBNull((int)InputColumns.HUB_MILES) ? 0 : reader.GetInt32((int)InputColumns.HUB_MILES);
                     outputData.LaneEmptyVol           = reader.IsDBNull((int)InputColumns.MT_VOLUME) ? 0 : reader.GetInt32((int)InputColumns.MT_VOLUME);
                     outputData.AvailableBidVol        = reader.IsDBNull((int)InputColumns.AVL_BID_VOL) ? 0 : reader.GetInt32((int)InputColumns.AVL_BID_VOL);
                     outputData.IMLaneRank             = reader.IsDBNull((int)InputColumns.IMD_RANK) ? 0 : reader.GetInt32((int)InputColumns.IMD_RANK);
                     outputData.LaneRevenue            = reader.IsDBNull((int)InputColumns.LANE_REVENUE) ? 0 : (double)reader.GetDecimal((int)InputColumns.LANE_REVENUE);
                     outputData.LaneCost               = reader.IsDBNull((int)InputColumns.LANE_COST) ? 0 : (double)reader.GetDecimal((int)InputColumns.LANE_COST);
                     outputData.LaneProfit             = outputData.LaneRevenue - outputData.LaneCost;
                     outputData.LaneWeeklyTrailerTurns = reader.IsDBNull((int)InputColumns.WEEKLY_TURNS) ? 0 : (double)reader.GetDecimal((int)InputColumns.WEEKLY_TURNS);
                     outputData.LaneMinVol             = reader.IsDBNull((int)InputColumns.MODEL_MIN) ? 0 : reader.GetInt32((int)InputColumns.MODEL_MIN);
                     outputData.LaneMaxVol             = reader.IsDBNull((int)InputColumns.MODEL_MIN) ? 0 : reader.GetInt32((int)InputColumns.MODEL_MIN);
                     outputData.TotalBidVol            = reader.IsDBNull((int)InputColumns.TTL_BID_VOL) ? 0 : reader.GetInt32((int)InputColumns.TTL_BID_VOL);
                     outputData.LaneID                 = i;
                     outputData.ScenarioID             = scenario;
                     outputData.DHUB                   = reader.IsDBNull((int)InputColumns.DHUB) ? "" : reader.GetString((int)InputColumns.DHUB);
                     LoadedMoves[i]         = theModel.NumVar(0, outputData.AvailableBidVol, NumVarType.Float, "LM_" + outputData.Lane);
                     outputData.LoadedMoves = LoadedMoves[i];
                     EmptyMoves[i]          = theModel.NumVar(0, outputData.LaneEmptyVol, NumVarType.Float, "EM_" + outputData.Lane);
                     outputData.EmptyMoves  = EmptyMoves[i];
                     theData.AddModelData(i, outputData);
                     LaneRevenue[i]  = outputData.LaneRevenue;
                     LaneCost[i]     = outputData.LaneCost;
                     TrailerTurns[i] = outputData.LaneWeeklyTrailerTurns;
                     LaneMargin[i]   = LaneRevenue[i] - LaneCost[i];
                     i++;
                 }
             }
         }
         using (OleDbCommand cmd = new OleDbCommand(SQLCommands.GetHubListSQL(inputTable, scenario), conn))
         {
             using (OleDbDataReader reader = cmd.ExecuteReader())
             {
                 i = 0;
                 while (reader.Read())
                 {
                     HubList.Add(i, reader.IsDBNull(0) ? "" : reader.GetString(0));
                     i++;
                 }
             }
         }
     }
 }
 public void AddModelData(Int32 LaneID, OutputData DataRecord)
 {
     ModelData.Add(LaneID, DataRecord);
 }