/// <summary>
        /// This method fetches a  'List<Project>' object.
        /// This method uses the 'Projects_FetchAll' procedure.
        /// </summary>
        /// <returns>A 'List<Project>'</returns>
        /// </summary>
        public List <Project> FetchAllProjects(FetchAllProjectsStoredProcedure fetchAllProjectsProc, DataConnector databaseConnector)
        {
            // Initial Value
            List <Project> projectCollection = null;

            // Verify database connection is connected
            if ((databaseConnector != null) && (databaseConnector.Connected))
            {
                // First Get Dataset
                DataSet allProjectsDataSet = this.DataHelper.LoadDataSet(fetchAllProjectsProc, databaseConnector);

                // Verify DataSet Exists
                if (allProjectsDataSet != null)
                {
                    // Get DataTable From DataSet
                    DataTable table = this.DataHelper.ReturnFirstTable(allProjectsDataSet);

                    // if table exists
                    if (table != null)
                    {
                        // Load Collection
                        projectCollection = ProjectReader.LoadCollection(table);
                    }
                }
            }

            // return value
            return(projectCollection);
        }