public List<AnalyticsCounts> GetActionCounts(string dateRange)
        {
            List<AnalyticsCounts> list = null;

            DataProvider.ExecuteCmd(GetConnection, "dbo.Analytics_SelectActionCounts"
               , inputParamMapper: delegate(SqlParameterCollection paramCollection)
               {
                   paramCollection.AddWithValue("@DateRange", dateRange);
               }
               , map: delegate(IDataReader reader, short set)
               {
                   int startingIndex = 0; //startingOrdinal

                   AnalyticsCounts p = new AnalyticsCounts();

                   p.Key = reader.GetSafeInt32(startingIndex++);
                   p.Count = reader.GetSafeInt32(startingIndex++);

                   if (list == null)
                   {
                       list = new List<AnalyticsCounts>();
                   }

                   list.Add(p);
               }
               );

            return list;
        }
        public List<AnalyticsCounts> GetPageUrlCounts(AnalyticsFilterRequest model)
        {
            List<AnalyticsCounts> list = null;

            DataProvider.ExecuteCmd(GetConnection, "dbo.Analytics_SelectPageUrlCounts"
               , inputParamMapper: delegate(SqlParameterCollection paramCollection)
               {
                   paramCollection.AddWithValue("@DateRange", model.DateRange);
                   paramCollection.AddWithValue("@StartDate", model.StartDate);
                   paramCollection.AddWithValue("@EndDate", model.EndDate);
               }
               , map: delegate(IDataReader reader, short set)
               {
                   int startingIndex = 0; //startingOrdinal

                   AnalyticsCounts p = new AnalyticsCounts();

                   p.Page = reader.GetSafeString(startingIndex++);
                   p.Count = reader.GetSafeInt32(startingIndex++);

                   if (list == null)
                   {
                       list = new List<AnalyticsCounts>();
                   }

                   list.Add(p);
               }
               );

            return list;
        }