//暂时屏蔽此功能. public void UpdateState(string gpsCode, EnumOilCommandState state) { using (IRepository repository = SessionManager.CreateRepository(typeof(EBreakOilHistoryRecord))) { Query query = new Query(typeof(EBreakOilHistoryRecord)); Expression expression = null; ExpressionUtility<string>.AddExpression("GPSCode", gpsCode, BinaryOperatorType.EqualTo, ref expression); query.Expression = expression; EBreakOilHistoryRecord entity = repository.Single<EBreakOilHistoryRecord>(query); //逻辑简述:如果指令状态为己发送,则根据"是否"来判断是否执行成功. if (null != entity) { entity.SuccessTime = DateTime.Now; entity.CommandState = (int)state; repository.Update(entity); } } }
public void UpdateState(Guid sequnceNo, EnumOilCommandState state) { using (IRepository repository = SessionManager.CreateRepository(typeof(EBreakOilHistoryRecord))) { Query query = new Query(typeof(EBreakOilHistoryRecord)); Expression expression = null; ExpressionUtility<Guid>.AddExpression("SerialNumber", sequnceNo, BinaryOperatorType.EqualTo, ref expression); query.Expression = expression; EBreakOilHistoryRecord entity = repository.Single<EBreakOilHistoryRecord>(query); //逻辑简述:如果指令状态为己发送,则根据"是否"来判断是否执行成功. if (null != entity) { //修正:发送指令后的状态更新先于发送指令后网关反馈状态更新时,则保留网关的反馈状态. if (entity.CommandState != (int)EnumOilCommandState.SendFail && entity.CommandState != (int)EnumOilCommandState.SendSuccess) { entity.SetTime = DateTime.Now; entity.CommandState = (int)state; repository.Update(entity); } } } }