/// <summary> /// 带事务的Update /// </summary> /// <param name="entity"></param> /// <param name="trans">The trans.</param> /// <returns></returns> /// <remarks>2016/9/1 13:46:07</remarks> public bool Update(ArenaSeasonEntity entity, DbTransaction trans) { var database = new SqlDatabase(this.ConnectionString); DbCommand commandWrapper = database.GetStoredProcCommand("dbo.P_ArenaSeason_Update"); database.AddInParameter(commandWrapper, "@Idx", DbType.Int32, entity.Idx); database.AddInParameter(commandWrapper, "@SeasonId", DbType.Int32, entity.SeasonId); database.AddInParameter(commandWrapper, "@PrepareTime", DbType.DateTime, entity.PrepareTime); database.AddInParameter(commandWrapper, "@StartTime", DbType.DateTime, entity.StartTime); database.AddInParameter(commandWrapper, "@EndTime", DbType.DateTime, entity.EndTime); database.AddInParameter(commandWrapper, "@ArenaType", DbType.Int32, entity.ArenaType); database.AddInParameter(commandWrapper, "@Status", DbType.Int32, entity.Status); database.AddInParameter(commandWrapper, "@RowTime", DbType.DateTime, entity.RowTime); int results = 0; if (trans != null) { results = database.ExecuteNonQuery(commandWrapper, trans); } else { results = database.ExecuteNonQuery(commandWrapper); } entity.Idx = (System.Int32)database.GetParameterValue(commandWrapper, "@Idx"); return(Convert.ToBoolean(results)); }
/// <summary> /// 将IDataReader的当前记录读取到ArenaSeasonEntity 对象 /// </summary> /// <param name="reader"></param> /// <returns></returns> public ArenaSeasonEntity LoadSingleRow(IDataReader reader) { var obj = new ArenaSeasonEntity(); obj.Idx = (System.Int32)reader["Idx"]; obj.SeasonId = (System.Int32)reader["SeasonId"]; obj.PrepareTime = (System.DateTime)reader["PrepareTime"]; obj.StartTime = (System.DateTime)reader["StartTime"]; obj.EndTime = (System.DateTime)reader["EndTime"]; obj.ArenaType = (System.Int32)reader["ArenaType"]; obj.Status = (System.Int32)reader["Status"]; obj.RowTime = (System.DateTime)reader["RowTime"]; return(obj); }
/// <summary> /// GetById /// </summary> /// <param name="idx">idx</param> /// <returns>ArenaSeasonEntity</returns> /// <remarks>2016/9/1 13:46:06</remarks> public ArenaSeasonEntity GetById(System.Int32 idx) { var database = new SqlDatabase(this.ConnectionString); DbCommand commandWrapper = database.GetStoredProcCommand("P_ArenaSeason_GetById"); database.AddInParameter(commandWrapper, "@Idx", DbType.Int32, idx); ArenaSeasonEntity obj = null; using (IDataReader reader = database.ExecuteReader(commandWrapper)) { if (reader.Read()) { obj = LoadSingleRow(reader); } } return(obj); }
/// <summary> /// GetSeason /// </summary> /// <param name="dates">dates</param> /// <returns>ArenaSeasonEntity</returns> /// <remarks>2016/9/1 13:46:06</remarks> public ArenaSeasonEntity GetSeason(System.DateTime dates) { var database = new SqlDatabase(this.ConnectionString); DbCommand commandWrapper = database.GetStoredProcCommand("C_ArenaSeason_GetSeason"); database.AddInParameter(commandWrapper, "@Dates", DbType.Date, dates); ArenaSeasonEntity obj = null; using (IDataReader reader = database.ExecuteReader(commandWrapper)) { if (reader.Read()) { obj = LoadSingleRow(reader); } } return(obj); }
/// <summary> /// Update /// </summary> /// <param name="entity"></param> /// <returns></returns> /// <remarks>2016/9/1 13:46:07</remarks> public bool Update(ArenaSeasonEntity entity) { return(Update(entity, null)); }
/// <summary> /// Insert /// </summary> /// <param name="entity"></param> /// <param name="trans">The trans.</param> /// <returns></returns> /// <remarks>2016/9/1 13:46:07</remarks> public bool Insert(ArenaSeasonEntity entity) { return(Insert(entity, null)); }
public static bool Update(ArenaSeasonEntity arenaSeasonEntity, DbTransaction trans = null, string zoneId = "") { var provider = new ArenaSeasonProvider(zoneId); return(provider.Update(arenaSeasonEntity, trans)); }
/// <summary> /// 初始化赛季 /// </summary> /// <returns></returns> public MessageCode InitSeason() { try { DateTime date = DateTime.Now; _season = ArenaSeasonMgr.GetSeason(date.Date); if (_season == null) { return(MessageCode.NbParameterError); } _seasonInfo = ArenaSeasoninfoMgr.GetSeasonInfo(_season.SeasonId, _domainId); DateTime endTime = _season.EndTime.AddDays(1).AddSeconds(-1); this.ArenaType = _season.ArenaType; //新赛季 if (_seasonInfo == null) { if (_season.SeasonId == 1) { //第一个赛季 _seasonInfo = new ArenaSeasoninfoEntity(0, _season.PrepareTime, _season.StartTime, endTime, _season.ArenaType, 0, false, date, new Guid(), "", "", new Guid(), "", "", 0, date, date, _domainId, _season.SeasonId); } else { //上一赛季 var onSeasonInfo = ArenaSeasoninfoMgr.GetSeasonInfo(_season.SeasonId - 1, _domainId); #region 初始化赛季 var messageCode = CalculateSeason(onSeasonInfo); if (messageCode != MessageCode.Success) { return(messageCode); } #endregion //上届冠军 var onChampionId = new Guid(); var onChampionName = ""; var onChampionZoneName = ""; //王者之师 var theKingName = ""; var theKingZoneName = ""; var theKingId = new Guid(); var theKingChampionNumber = 0; //获取上届冠军 var onChampion = ArenaManagerrecordMgr.GetChampion(_season.SeasonId - 1, _domainId); if (onChampion != null) { onChampionId = onChampion.ManagerId; onChampionName = onChampion.ManagerName; onChampionZoneName = onChampion.ZoneName; //冠军次数+1 ArenaManagerinfoMgr.SetChampion(onChampion.ManagerId); } //获取得到冠军次数最多的人 var maxChampion = ArenaManagerinfoMgr.GetChampionMax(_domainId); if (maxChampion != null) { if (onSeasonInfo != null) { //上一届跟这一届是同一个人 if (onSeasonInfo.TheKingId == maxChampion.ManagerId) { theKingId = maxChampion.ManagerId; theKingName = maxChampion.ZoneName + "." + maxChampion.ManagerName; theKingZoneName = maxChampion.ZoneName; } else //不是同一人 { //获取上一届王者之师用户信息 var onTheKingInfo = ArenaManagerinfoMgr.GetById(onSeasonInfo.TheKingId); //先达到的为主 if (onTheKingInfo != null && onTheKingInfo.ChampionNumber >= maxChampion.ChampionNumber) { theKingId = onTheKingInfo.ManagerId; theKingName = onTheKingInfo.ZoneName + "." + onTheKingInfo.ManagerName; theKingZoneName = onTheKingInfo.ZoneName; } else { theKingId = maxChampion.ManagerId; theKingName = maxChampion.ZoneName + "." + maxChampion.ManagerName; theKingZoneName = maxChampion.ZoneName; } } } else { theKingId = maxChampion.ManagerId; theKingName = maxChampion.ZoneName + "." + maxChampion.ManagerName; theKingZoneName = maxChampion.ZoneName; } theKingChampionNumber = maxChampion.ChampionNumber; } _seasonInfo = new ArenaSeasoninfoEntity(0, _season.PrepareTime, _season.StartTime, endTime, _season.ArenaType, 0, false, date, onChampionId, onChampionName, onChampionZoneName, theKingId, theKingName, theKingZoneName, theKingChampionNumber, date, date, _domainId, _season.SeasonId); //达到开始条件 if (_seasonInfo.StartTime.Date <= date.Date && _seasonInfo.Status == 0) { _seasonInfo.Status = 1; ArenaManagerinfoMgr.ClearRecord(_seasonInfo.ArenaType, _domainId); } } if (!ArenaSeasoninfoMgr.Insert(_seasonInfo)) { return(MessageCode.NbUpdateFail); } Refresh(); } else { //达到开始条件 if (_seasonInfo.StartTime.Date <= date.Date && _seasonInfo.Status == 0) { _seasonInfo.Status = 1; ArenaManagerinfoMgr.ClearRecord(_seasonInfo.ArenaType, _domainId); if (!ArenaSeasoninfoMgr.Update(_seasonInfo)) { return(MessageCode.NbUpdateFail); } Refresh(); } } } catch (Exception ex) { SystemlogMgr.Error("竞技场初始化赛季", ex); return(MessageCode.NbParameterError); } return(MessageCode.Success); }