public static GameStat ConvertType2(DTOStatExtended o) { return(new GameStat() { LeagueID = o.LeagueID, GameID = o.GameID, TeamID = o.TeamID, PlayerID = o.PlayerID, Value = o.Value, StatType = ConvertType(o), StatStates = o.States.Select(s => (StatStates)s).ToList() }); }
public static StatType ConvertType(DTOStatExtended o) { return(new StatType() { DefaultShow = o.DefaultShow, DisplayName = o.DisplayName, ID = o.StatTypeID, IsCalculated = o.IsCalculated, Name = o.Name, GridDisplayOrder = o.GridDisplayOrder, ValueType = (ValueTypes)o.ValueType, SelectionDisplayOrder = o.SelectionDisplayOrder }); }
public List <DTOStatExtended> GetStats(int?gameID = null, int?playerID = null, int?teamID = null, int?leagueID = null, DataCache dataCache = null) { var stats = new List <DTOStatExtended>(); var dataSetResult = new DataSet(); var dataTableResultStats = new DataTable(); var dataTableResultStates = new DataTable(); var cacheKey = new CacheKey(gameID, teamID, playerID, null); if (dataCache != null && dataCache.StatsResult != null && dataCache.StatsResult.ContainsKey(cacheKey)) { dataTableResultStats = dataCache.StatsResult[cacheKey]; dataTableResultStates = dataCache.StatesResult[cacheKey]; } else { var parameters = new List <SqlParameter>(); if (gameID.HasValue) { parameters.Add(CreateSqlParameter("@GameID", SqlDbType.Int, gameID)); } if (playerID.HasValue) { parameters.Add(CreateSqlParameter("@PlayerID", SqlDbType.Int, playerID.Value)); } if (teamID.HasValue) { parameters.Add(CreateSqlParameter("@TeamID", SqlDbType.Int, teamID.Value)); } if (leagueID.HasValue) { parameters.Add(CreateSqlParameter("@LeagueID", SqlDbType.Int, leagueID.Value)); } dataSetResult = SQLGetDataSet("GetStats", parameters); if (dataCache == null) { dataCache = new DataCache(); } dataTableResultStats = dataSetResult.Tables[0]; dataTableResultStates = dataSetResult.Tables[1]; dataCache.StatsResult.Add(cacheKey, dataTableResultStats); dataCache.StatesResult.Add(cacheKey, dataTableResultStates); } foreach (DataRow dr in dataTableResultStats.Rows) { var stat = new DTOStatExtended() { ID = (int)dr["ID"], GameID = (int)dr["GameID"], LeagueID = (int)dr["LeagueID"], SportID = (int)dr["SportID"], GroupID = dr["GroupID"] == DBNull.Value ? (int?)null : (int)dr["GroupID"], Value = (int)dr["Value"], StatTypeID = (int)dr["StatTypeID"], PlayerID = dr["PlayerID"] == DBNull.Value ? (int?)null : (int)dr["PlayerID"], TeamID = (int)dr["TeamID"], DefaultShow = (bool)dr["DefaultShow"], DisplayName = dr["DisplayName"].ToString(), IsCalculated = (bool)dr["IsCalculated"], AutoGenerated = (bool)dr["IsCalculated"], Name = dr["Name"].ToString(), }; string filter = string.Format("GameID = {0} AND PlayerID = {1} AND StatID = {2}", stat.GameID, stat.PlayerID.HasValue ? stat.PlayerID.ToString() : "null", stat.ID); foreach (DataRow drState in dataTableResultStates.Select(filter)) { int stateID = (int)drState["StateID"]; stat.States.Add(stateID); } stats.Add(stat); } return(stats); }