static PerformanceData ReadRecordFromMap(IDataReader reader) { PerformanceData data = new PerformanceData(); data.CreatedTime = Convert.ToInt64(reader["BCreatedTime"]); data.MOId = Convert.ToInt32(reader["BMOId"]); data.MOType = reader["BMOtype"].ToString(); data.StatusX = reader["BStatus"].ToString(); data.StoreId = Convert.ToInt32(reader["BStoreId"]); data.Value = Convert.ToDouble(reader["BValue"]); data.SendTime = Convert.ToInt64(reader["BSendTime"]); return data; }
static double createSimulatedData(PerformanceData data) { int raw = Convert.ToInt32(data.Value); Random random = new Random(); double result = random.NextDouble() * random.Next(-1, 1) * 0.1; double value = data.Value * (1 + result); if (value < 0) value = 0; if (raw <= 100) { if (value > 100) value = 100; } if (raw >= 0) { if (value < 0) value = 0; } return value; }
/// <summary> /// 返回所有的待发送表的数据 /// </summary> static List<PerformanceData> GetAllReadyRecords() { List<PerformanceData> datas = new List<PerformanceData>(); using (IDataReader reader = _dbSupport.ExecuteReader(SQLMapper.GetSqlString(SQLDialect.SELECT_QUEUE))) { while (reader.Read()) { int bid = 0; try { //if (reader["BMOId"].GetType() != typeof(DBNull) // && reader["BStoreId"].GetType() != typeof(DBNull) // && reader["BValue"].GetType() != typeof(DBNull)) //{ PerformanceData data = new PerformanceData(); bid = Convert.ToInt32(reader["BID"]); data.Id = bid; data.CreatedTime = ToInt64(Convert.ToDateTime(reader["BCreatedTime"])); data.MOId = Convert.ToInt32(reader["BMOId"]); data.MOType = reader["BMOtype"].ToString(); data.StatusX = reader["BStatus"].ToString(); data.StoreId = Convert.ToInt32(reader["BStoreId"]); data.Value = DBSupport.ToDouble(reader["BValue"], double.NaN); if(!double.NaN.Equals(data.Value)) datas.Add(data); //} } catch (Exception e) { _logger.Error("在理" + bid.ToString() + "时出错", e); //throw; } } } return datas; }