public List <CounterRecord> GetCounterRecords(string name, string groupID, int start = 0, int end = -1) { string query = TableQuery.CombineFilters( TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, ToRecordPK(groupID, name)), TableOperators.And, TableQuery.GenerateFilterCondition("RowKey", QueryComparisons.GreaterThanOrEqual, ToRecordRK(start)) ); if (end > 0) { query = TableQuery.CombineFilters( query, TableOperators.And, TableQuery.GenerateFilterCondition("RowKey", QueryComparisons.LessThanOrEqual, ToRecordRK(end)) ); } TableQuery <DynamicTableEntity> q = new TableQuery <DynamicTableEntity>().Where(query); List <CounterRecord> records = new List <CounterRecord>(); foreach (var entity in _counterRecord.ExecuteQuery(q)) { records.Add(CounterRecordHelper.ParseEntity(entity)); } return(records); }
private Dictionary <string, List <int> > SearchWordsIndex(string keyword, DateTime lastSearchDate) { string query = GenerateWordIndexConditionQuery(keyword, lastSearchDate); TableQuery <WordIndexEntity> tableQuery = new TableQuery <WordIndexEntity>().Where(query); var queryResult = _wordsIndexTable.ExecuteQuery <WordIndexEntity>(tableQuery); Dictionary <string, List <int> > ret = new Dictionary <string, List <int> >(); foreach (var entity in queryResult) { var msgid = entity.GetMessage().ToMessageString(); var poslist = entity.GetPostionsList(); if (ret.ContainsKey(msgid)) { var l = ret[msgid]; ret[msgid] = l.Union(poslist).ToList(); } else { ret.Add(msgid, poslist); } } return(ret); }
//public List<Reply> GetReplyNotif(string userid) //{ // TableQuery<ReplyNotificationEntifity> query = new TableQuery<ReplyNotificationEntifity>().Where(TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, userid)); // List<Reply> replies = new List<Reply>(); // TableBatchOperation batchOperation = new TableBatchOperation(); // int count = 0; // // Print the fields for each customer. // foreach (ReplyNotificationEntifity entity in _replyNotification.ExecuteQuery(query)) // { // replies.Add(JsonConvert.DeserializeObject<Reply>(entity.Content)); // batchOperation.Add(TableOperation.Delete(entity)); // count++; // if((count % 100) == 0){ // _replyNotification.ExecuteBatch(batchOperation); // batchOperation = new TableBatchOperation(); // count = 0; // } // } // if (count > 0) // { // _replyNotification.ExecuteBatch(batchOperation); // } // return replies; //} public List <Reply> GetAllReply(string userid) { TableQuery <BaseReplyEntity> query = new TableQuery <BaseReplyEntity>().Where(TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, userid)); List <Reply> replies = new List <Reply>(); foreach (BaseReplyEntity entity in _replyArchive.ExecuteQuery(query)) { replies.Add(entity.ToReply()); } //replies.Reverse(); return(replies); }
public List <Reply> GetAllReplies(string msgID) { TableQuery <BaseReplyEntity> query = new TableQuery <BaseReplyEntity>().Where(TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, msgID)); List <Reply> replies = new List <Reply>(); // Print the fields for each customer. foreach (BaseReplyEntity entity in _reply.ExecuteQuery(query)) { replies.Add(entity.ToReply()); } return(replies); }
public List <CounterSet> GetCounterSetByGroup(string groupID) { TableQuery <CounterSetEntity> query = new TableQuery <CounterSetEntity>().Where( TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, groupID) ); List <CounterSet> counterSets = new List <CounterSet>(); foreach (var entity in _counterSet.ExecuteQuery(query)) { counterSets.Add(entity); } return(counterSets); }
public List <MetricRecord> RetriveDataRecord(int id, int startIndex, int endIndex) { List <MetricRecord> result = new List <MetricRecord>(); startIndex = startIndex < 0 ? 0 : startIndex; if (endIndex < startIndex) { return(result); } string query = TableQuery.GenerateFilterCondition("PartitionKey", QueryComparisons.Equal, id.ToString()); query = TableQuery.CombineFilters( query, TableOperators.And, TableQuery.GenerateFilterCondition( "RowKey", QueryComparisons.GreaterThanOrEqual, ((startIndex / MetricEntity.MaxMetricRecord) * MetricEntity.MaxMetricRecord).ToString(RowKeyFormat)) ); query = TableQuery.CombineFilters( query, TableOperators.And, TableQuery.GenerateFilterCondition( "RowKey", QueryComparisons.LessThanOrEqual, ((endIndex / MetricEntity.MaxMetricRecord) * MetricEntity.MaxMetricRecord).ToString(RowKeyFormat)) ); TableQuery <DynamicTableEntity> rangeQuery = new TableQuery <DynamicTableEntity>().Where(query); foreach (DynamicTableEntity entity in _metricData.ExecuteQuery(rangeQuery)) { MetricEntity mentity = new MetricEntity(entity); int offset = int.Parse(entity.RowKey); int index; for (int i = 0; i < mentity.Count; i++) { index = offset + i; if (index >= startIndex && index <= endIndex) { result.Add(mentity.Get(i)); } } } return(result); }
public List <Message> EventLine(string eventID) { string query = GenerateStartWithConditionQuery(System.Web.HttpUtility.UrlEncode(eventID) + "_"); TableQuery <BaseMessageEntity> rangeQuery = new TableQuery <BaseMessageEntity>().Where(query); List <Message> msgs = new List <Message>(); foreach (BaseMessageEntity entity in _eventline.ExecuteQuery(rangeQuery)) { //var msg = JsonConvert.DeserializeObject<Message>(entity.Content); msgs.Add(entity.ToMessage()); } return(msgs); }