示例#1
0
        /// <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);
        }
示例#2
0
        /// <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);
        }