/// <summary> /// 带事务的Update /// </summary> /// <param name="entity"></param> /// <param name="trans">The trans.</param> /// <returns></returns> /// <remarks>2016-08-23 16:24:47</remarks> public bool Update(CrossrobotManagerEntity entity, DbTransaction trans) { var database = new SqlDatabase(this.ConnectionString); DbCommand commandWrapper = database.GetStoredProcCommand("dbo.P_CrossrobotManager_Update"); database.AddInParameter(commandWrapper, "@Idx", DbType.Guid, entity.Idx); database.AddInParameter(commandWrapper, "@SiteId", DbType.AnsiString, entity.SiteId); database.AddInParameter(commandWrapper, "@CrossCrowd", DbType.Boolean, entity.CrossCrowd); database.AddInParameter(commandWrapper, "@Status", DbType.Int32, entity.Status); database.AddInParameter(commandWrapper, "@RowTime", DbType.DateTime, entity.RowTime); database.AddInParameter(commandWrapper, "@UpdateTime", DbType.DateTime, entity.UpdateTime); int results = 0; if (trans != null) { results = database.ExecuteNonQuery(commandWrapper, trans); } else { results = database.ExecuteNonQuery(commandWrapper); } entity.Idx = (System.Guid)database.GetParameterValue(commandWrapper, "@Idx"); return(Convert.ToBoolean(results)); }
void RobotCrossCrowdHook(CrossrobotManagerEntity entity) { if (CrossCrowdFight(entity.SiteId, entity.Idx) == MessageCode.Success) { CrossrobotManagerMgr.UpdateStatus(entity.Idx, (int)EnumRobotMatchStatus.Run); } }
bool GetHookStatus(CrossrobotManagerEntity entity) { switch (_curMatchType) { case EnumMatchType.CrossCrowd: return(entity.CrossCrowd); default: return(false); } }
void SetHookStatus(CrossrobotManagerEntity entity, bool status) { switch (_curMatchType) { case EnumMatchType.CrossCrowd: entity.CrossCrowd = status; break; default: break; } }
public static CrossrobotManagerEntity BuildCrossRobotManager(string siteId, Guid managerId) { CrossrobotManagerEntity entity = new CrossrobotManagerEntity(); entity.Idx = managerId; entity.SiteId = siteId; entity.CrossCrowd = false; entity.Status = 0; entity.RowTime = DateTime.Now; entity.UpdateTime = DateTime.Now; return(entity); }
/// <summary> /// 将IDataReader的当前记录读取到CrossrobotManagerEntity 对象 /// </summary> /// <param name="reader"></param> /// <returns></returns> public CrossrobotManagerEntity LoadSingleRow(IDataReader reader) { var obj = new CrossrobotManagerEntity(); obj.Idx = (System.Guid)reader["Idx"]; obj.SiteId = (System.String)reader["SiteId"]; obj.CrossCrowd = (System.Boolean)reader["CrossCrowd"]; obj.Status = (System.Int32)reader["Status"]; obj.RowTime = (System.DateTime)reader["RowTime"]; obj.UpdateTime = (System.DateTime)reader["UpdateTime"]; return(obj); }
public RobotResponse StopRobot(Guid managerId) { CrossrobotManagerEntity crossRobotManager = null; var code = StopCrossRobotManager(managerId, out crossRobotManager); if (code != MessageCode.Success) { return(ResponseHelper.Create <RobotResponse>(code)); } var response = ResponseHelper.CreateSuccess <RobotResponse>(); return(RobotCore.BuildRobotResponse(response, crossRobotManager)); }
public static RobotResponse BuildRobotResponse(RobotResponse response, CrossrobotManagerEntity crossRobotManager) { response.Data = new RobotEntity(); if (crossRobotManager == null) { response.Data.CrossCrowd = false; } else { response.Data.CrossCrowd = crossRobotManager.CrossCrowd; } return(response); }
/// <summary> /// GetById /// </summary> /// <param name="idx">idx</param> /// <returns>CrossrobotManagerEntity</returns> /// <remarks>2016-08-23 16:24:47</remarks> public CrossrobotManagerEntity GetById(System.Guid idx) { var database = new SqlDatabase(this.ConnectionString); DbCommand commandWrapper = database.GetStoredProcCommand("P_CrossrobotManager_GetById"); database.AddInParameter(commandWrapper, "@Idx", DbType.Guid, idx); CrossrobotManagerEntity obj = null; using (IDataReader reader = database.ExecuteReader(commandWrapper)) { if (reader.Read()) { obj = LoadSingleRow(reader); } } return(obj); }
MessageCode StopCrossRobotManager(Guid managerId, out CrossrobotManagerEntity entity) { entity = CrossrobotManagerMgr.GetById(managerId); if (entity == null || !GetHookStatus(entity)) { return(MessageCode.InvalidArgs); } SetHookStatus(entity, false); entity.Status = (int)EnumRobotMatchStatus.Stop; LogHelper.Insert("test", LogType.Info); if (!CrossrobotManagerMgr.Update(entity)) { return(MessageCode.FailUpdate); } LogHelper.Insert("test2", LogType.Info); CrossrobotManagerEntity newEntity = null; _crossRobotManagerDic.TryRemove(managerId, out newEntity); return(MessageCode.Success); }
public static bool Update(CrossrobotManagerEntity crossrobotManagerEntity, DbTransaction trans = null, string zoneId = "") { var provider = new CrossrobotManagerProvider(zoneId); return(provider.Update(crossrobotManagerEntity, trans)); }
/// <summary> /// Update /// </summary> /// <param name="entity"></param> /// <returns></returns> /// <remarks>2016-08-23 16:24:47</remarks> public bool Update(CrossrobotManagerEntity entity) { return(Update(entity, null)); }
/// <summary> /// Insert /// </summary> /// <param name="entity"></param> /// <param name="trans">The trans.</param> /// <returns></returns> /// <remarks>2016-08-23 16:24:47</remarks> public bool Insert(CrossrobotManagerEntity entity) { return(Insert(entity, null)); }
void doCrossCrowdFinish(CrossrobotManagerEntity entity) { CrossrobotManagerMgr.UpdateStatus(entity.Idx, (int)EnumRobotMatchStatus.Stop); }