From afb89d3933a868a1729cb44b0cd1c28938093a19 Mon Sep 17 00:00:00 2001
From: Heinrichs <Heinrichs@itc.rwth-aachen.de>
Date: Wed, 21 Apr 2021 13:23:34 +0200
Subject: [PATCH] Mark KPI as sent when they are successfully sent
 (coscine/issues#1424)

---
 src/KpiGenerator/Program.cs                  | 6 ------
 src/KpiGenerator/Reporter/HamsterReporter.cs | 7 +++++++
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/src/KpiGenerator/Program.cs b/src/KpiGenerator/Program.cs
index 90abb10..f349468 100644
--- a/src/KpiGenerator/Program.cs
+++ b/src/KpiGenerator/Program.cs
@@ -44,12 +44,6 @@ namespace Coscine.KpiGenerator
             {
                 hamsterReporter.Send(kpiToProcess);
             }
-
-            // if the kpi were sent successful mark all values within the database as successfully sent
-            foreach (Kpi kpi in kpiToProcess)
-            {
-                kpiModel.MarkAsSent(kpi);
-            }
         }
     }
 }
diff --git a/src/KpiGenerator/Reporter/HamsterReporter.cs b/src/KpiGenerator/Reporter/HamsterReporter.cs
index 036acec..7a50e0c 100644
--- a/src/KpiGenerator/Reporter/HamsterReporter.cs
+++ b/src/KpiGenerator/Reporter/HamsterReporter.cs
@@ -1,5 +1,6 @@
 using Coscine.Configuration;
 using Coscine.Database.DataModel;
+using Coscine.Database.Models;
 using System;
 using System.Collections.Generic;
 
@@ -23,6 +24,8 @@ namespace Coscine.KpiGenerator.Reporter
 
         public void Send(List<Kpi> kpis)
         {
+            // when all generators are done
+            var kpiModel = new KpiModel();
             foreach (var kpi in kpis)
             {
                 var values = $"login={_name}&password={_password}";
@@ -38,6 +41,10 @@ namespace Coscine.KpiGenerator.Reporter
                 {
                     Console.Error.WriteLine(result);
                 }
+                else
+                {
+                    kpiModel.MarkAsSent(kpi);
+                }
             }
         }
 
-- 
GitLab