/// <summary> /// Gets All events. /// </summary> /// <returns>List of Events</returns> public IEnumerable <Event> GetEvents() { List <Event> events = new List <Event>(); List <int> matchIdList = new List <int>(); _DbMatch = new DBMatch(); Event eventToAdd = null; TransactionOptions to = new TransactionOptions { IsolationLevel = IsolationLevel.ReadCommitted }; using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, to)) { using (SqlConnection connection = DBConnection.GetSqlConnection()) { connection.Open(); using (SqlCommand command = connection.CreateCommand()) { command.CommandText = "SELECT Id, Name, GameName, Type FROM Event"; SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { eventToAdd = new Event { Id = reader.GetInt32(reader.GetOrdinal("Id")), Name = reader.GetString(reader.GetOrdinal("Name")), GameName = reader.GetString(reader.GetOrdinal("GameName")), Type = reader.GetString(reader.GetOrdinal("Type")) }; events.Add(eventToAdd); } reader.Close(); command.Parameters.Clear(); foreach (Event e in events) { if (e != null) { e.Matches = _DbMatch.GetMatchesByEvent(e); } } } connection.Close(); } scope.Complete(); } return(events); }
/// <summary> /// Gets an event by unique identifier. /// </summary> /// <param name="id">The identifier.</param> /// <returns>The found event</returns> public Event GetEvent(int id) { _DbMatch = new DBMatch(); Event foundEvent = null; TransactionOptions to = new TransactionOptions { IsolationLevel = IsolationLevel.ReadCommitted }; using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, to)) { using (SqlConnection connection = DBConnection.GetSqlConnection()) { connection.Open(); using (SqlCommand command = connection.CreateCommand()) { command.CommandText = "SELECT Id, Name, GameName, Type FROM Event WHERE Id=@id"; command.Parameters.AddWithValue("Id", id); SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { foundEvent = new Event { Id = reader.GetInt32(reader.GetOrdinal("Id")), Name = reader.GetString(reader.GetOrdinal("Name")), GameName = reader.GetString(reader.GetOrdinal("GameName")), Type = reader.GetString(reader.GetOrdinal("Type")) }; } reader.Close(); if (foundEvent != null) { foundEvent.Matches = _DbMatch.GetMatchesByEvent(foundEvent); } } connection.Close(); } scope.Complete(); } return(foundEvent); }