예제 #1
0
        /// <summary>
        /// Get all hits for a specific function, from a specific source
        /// </summary>
        /// <param name="iFunctionName">The name of the function to get the registered hits for</param>
        /// <param name="iSource">The source of the request, for example ipaddress</param>
        /// <param name="iEarliest">The earliest registered datetime to get</param>
        /// <returns></returns>
        public List <FunctionHit> GetHits(String iFunctionName,
                                          String iSource,
                                          DateTime iEarliest)
        {
            String pStrPartitionFilter = TableQuery.GenerateFilterCondition(
                "PartitionKey",
                QueryComparisons.Equal,
                String.Format("{0}_{1}", iFunctionName, iSource));
            String pStrTimestampFilter = TableQuery.GenerateFilterConditionForDate(
                "Timestamp",
                QueryComparisons.GreaterThanOrEqual,
                iEarliest);
            String pStrFilter = TableQuery.CombineFilters(pStrPartitionFilter,
                                                          TableOperators.And,
                                                          pStrTimestampFilter);

            TableQuery <FunctionHit> pTQyQuery = new TableQuery <FunctionHit>().Where(pStrFilter);

            FunctionHitsTable.CreateIfNotExists();
            IEnumerable <FunctionHit> pIEeHits = FunctionHitsTable.ExecuteQuery <FunctionHit>(pTQyQuery);
            List <FunctionHit>        pLisHits = new List <FunctionHit>(pIEeHits);

            return(pLisHits);
        }