public async Task Update15m() { var students = new List <StudentEntity>(); TableQuery <StudentEntity> query = new TableQuery <StudentEntity>(); TableContinuationToken token = null; do { TableQuerySegment <StudentEntity> resultSegment = await studentTable.ExecuteQuerySegmentedAsync(query, token); students.AddRange(resultSegment.Results); }while(token != null); List <StudentEntity> l = students; var result = l.Distinct(new ItemEqualityComparer()); int total = 0; foreach (StudentEntity s in result) { int count = 0; foreach (StudentEntity i in students) { string row1 = s.RowKey; string row2 = i.RowKey; if (row1.Equals(row2)) { count++; } } MetricEntity m = new MetricEntity(s.RowKey, count); var insertop = TableOperation.Insert(m); await metricTable.ExecuteAsync(insertop); total = total + count; } MetricEntity m1 = new MetricEntity("TOTAL", total); var insertop1 = TableOperation.Insert(m1); await metricTable.ExecuteAsync(insertop1); }
public static async Task ComputeMetrics() { List <StudentEntity> students = await GetAllStudents(); int countUPT = 0; int countUVT = 0; int countGeneral = 0; foreach (var student in students) { if (student.PartitionKey == "UPT") { countUPT++; } else if (student.PartitionKey == "UVT") { countUVT++; } } countGeneral = countUPT + countUVT; var metricUPT = new MetricEntity("UPT"); var metricUVT = new MetricEntity("UVT"); var metricGeneral = new MetricEntity("General"); metricUPT.Count = countUPT; metricUVT.Count = countUVT; metricGeneral.Count = countGeneral; var insertUPT = TableOperation.Insert(metricUPT); await _metricsTable.ExecuteAsync(insertUPT); var insertUVT = TableOperation.Insert(metricUVT); await _metricsTable.ExecuteAsync(insertUVT); var insertGeneral = TableOperation.Insert(metricGeneral); await _metricsTable.ExecuteAsync(insertGeneral); }