Exemple #1
0
        /// <summary>
        /// Gets the details of a single request matching the given request ID.
        /// </summary>
        /// <param name="requestID">The request ID to search for.</param>
        /// <returns>The details matching the request ID.</returns>
        public Request GetRequest(long requestID, RequestType type)
        {
            Request returnVal = null;
            MySqlDataReader dr = null;

            String query = "";
            if (type.Equals(RequestType.JOIN_TEAM)) {
                query = "SELECT * FROM ";
                query += AppConstants.MYSQL_TABLE_PERSON + " person, " + AppConstants.MYSQL_TABLE_TEAM + " team, " + AppConstants.MYSQL_TABLE_REQUESTS + " request ";
                query += "WHERE person.personID=request.personID AND team.teamID=request.teamID AND request.requestID=" + requestID;
            } else {
                query = "SELECT * FROM ";
                query += AppConstants.MYSQL_TABLE_PERSON + " person, " + AppConstants.MYSQL_TABLE_REQUESTS + " request ";
                query += "WHERE person.personID=request.personID AND request.requestID=" + requestID;
            }

            try {
                connection.Open();
                command.CommandText = query;
                dr = command.ExecuteReader();

                Person requestee;
                Team team;

                if (dr.HasRows) {
                    dr.Read();
                    requestee = new Person(dr.GetString("firstName"), dr.GetString("lastName"));
                    requestee.ID = dr.GetInt64("personID");
                    requestee.email = dr.GetString("email");
                    //requestee.imageURL = dr.GetString("imageURL");
                    //requestee.height = dr.GetInt16("height");
                    //requestee.weight = dr.GetInt16("weight");
                    //requestee.birthday = dr.GetDateTime("birthday");

                    team = new Team();
                    if (type.Equals(RequestType.JOIN_TEAM)) {
                        team.ID = dr.GetInt64("teamID");
                    }

                    returnVal = new Request(type, requestee, team);
                    returnVal.ID = requestID;
                }
                else {
                    returnVal = null;
                }
            }
            catch (Exception ex) {
                returnVal = null;
            }
            finally {
                connection.Close();
            }

            if (returnVal != null && returnVal.type.Equals(RequestType.JOIN_TEAM)) {
                returnVal.team = GetTeamDetails(returnVal.team.ID);
            }

            return returnVal;
        }
Exemple #2
0
        /// <summary>
        /// Gets the requests from users who wish to have the coach permission.
        /// </summary>
        /// <returns>A list of the requests from users to have the coach permission added.</returns>
        public List<Request> GetCoachRequests()
        {
            List<Request> returnVal = new List<Request>();
            MySqlDataReader dr = null;

            String query = "SELECT * FROM ";
            query += AppConstants.MYSQL_TABLE_PERSON + " person, " + AppConstants.MYSQL_TABLE_REQUESTS + " request ";
            query += "WHERE person.personID=request.personID AND request.type=" + (int)RequestType.COACH_PERMISSION;

            try {
                connection.Open();
                command.CommandText = query;
                dr = command.ExecuteReader();

                Person requestee;
                Request request;
                while (dr.Read()) {
                    requestee = new Person(dr.GetString("firstName"), dr.GetString("lastName"));
                    requestee.ID = dr.GetInt64("personID");
                    requestee.email = dr.GetString("email");

                    request = new Request(RequestType.COACH_PERMISSION, requestee, new Team());
                    request.ID = dr.GetInt64("requestID");
                    returnVal.Add(request);
                }
            }
            catch {
                returnVal = null;
            }
            finally {
                connection.Close();
            }

            return returnVal;
        }
Exemple #3
0
        /// <summary>
        /// Gets requests that are pending that were initiated by the person with the 
        /// corresponding email address.
        /// </summary>
        /// <param name="email">The email address to match.</param>
        /// <returns>A list of requests initiated by the user with the given email.</returns>
        public List<Request> GetMyOpenRequests(String email)
        {
            List<Request> returnVal = new List<Request>();
            MySqlDataReader dr = null;

            Person user = GetPersonInformation(email);

            String query = "SELECT name, team.teamID, requestID, request.timestamp FROM ";
            query += AppConstants.MYSQL_TABLE_TEAM + " team, " + AppConstants.MYSQL_TABLE_REQUESTS + " request ";
            query += "WHERE team.teamID=request.teamID AND request.personID=" + user.ID;

            try {
                connection.Open();
                command.CommandText = query;
                dr = command.ExecuteReader();

                Team team;
                Request request;
                while (dr.Read()) {
                    team = new Team();
                    team.name = dr.GetString("name");
                    team.ID = dr.GetInt64("teamID");

                    request = new Request(RequestType.JOIN_TEAM, user, team);
                    request.ID = dr.GetInt64("requestID");
                    request.timestamp = dr.GetDateTime("timestamp");
                    returnVal.Add(request);
                }
            }
            catch {
                returnVal = null;
            }
            finally {
                connection.Close();
            }

            return returnVal;
        }
Exemple #4
0
        /// <summary>
        /// Gets requests tied to a specific user and team ID.
        /// </summary>
        /// <param name="teamID">The ID of the team.</param>
        /// <param name="userID">The ID of the requestee.</param>
        /// <returns>A list of requests matching the given team and requestee ID.</returns>
        public List<Request> GetRequests(long teamID, long userID)
        {
            List<Request> returnVal = new List<Request>();
            MySqlDataReader dr = null;

            String query = "SELECT * FROM ";
            query += AppConstants.MYSQL_TABLE_PERSON + " person, " + AppConstants.MYSQL_TABLE_TEAM + " team, " + AppConstants.MYSQL_TABLE_REQUESTS + " request ";
            query += "WHERE person.personID=request.personID AND team.teamID=request.teamID AND request.teamID=" + teamID + " AND request.personID=" + userID;

            try {
                connection.Open();
                command.CommandText = query;
                dr = command.ExecuteReader();

                Person requestee;
                Team team;
                Request request;
                while (dr.Read()) {
                    requestee = new Person(dr.GetString("firstName"), dr.GetString("lastName"));
                    requestee.ID = dr.GetInt64("personID");
                    requestee.email = dr.GetString("email");
                    //requestee.setPassword(dr.GetString("password"));
                    //requestee.imageURL = dr.GetString("imageURL");
                    //requestee.birthday = dr.GetDateTime("birthday");
                    //requestee.height = dr.GetInt16("height");
                    //requestee.weight = dr.GetInt16("weight");

                    team = new Team();
                    team.name = dr.GetString("name");

                    request = new Request(RequestType.JOIN_TEAM, requestee, team);
                    request.ID = dr.GetInt64("requestID");
                    returnVal.Add(request);
                }
            }
            catch {
                returnVal = null;
            }
            finally {
                connection.Close();
            }

            return returnVal;
        }