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);
        }
Exemple #2
0
        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);
        }