public SearchResult <CourseList> GetTotalTopic()
        {
            SearchParameter search = new SearchParameter();

            search.ClearFilterList();
            search.SortTable     = "CourseList";
            search.SortColumn    = "CourseID";
            search.SortAscending = true;
            const string column = @"SELECT CourseList.CourseID,count(1) as TotalTopic";
            const string source = @"FROM CourseList GROUP BY CourseID";
            var          result = new SearchResult <CourseList>();
            var          query  = search.CreateQuery(column, source);

            try
            {
                using (var multi = this.DbFactory.Connection.QueryMultiple(query))
                {
                    var count      = multi.Read <int>().FirstOrDefault();
                    var resultList = multi.Read <CourseList>(true);
                    result.ResultList  = resultList.AsQueryable();
                    result.TotalRecord = count;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(result);
        }