From 2b6e8967e99aa71d7d688b4c33bbfa49c476f403 Mon Sep 17 00:00:00 2001
From: Petar Hristov <hristov@itc.rwth-aachen.de>
Date: Wed, 25 Jan 2023 14:43:06 +0100
Subject: [PATCH] New: Removed Kpi and all its references

---
 src/Database/Models/KpiModel.cs            | 30 -------------
 src/Database/ReturnObjects/KpiObject.cs    | 38 ----------------
 src/Scaffolding/CustomDesignTimeService.cs |  2 +-
 src/Scaffolding/DataModel/Kpi.cs           | 22 ----------
 src/Scaffolding/DataModel/Model.cs         | 50 ++--------------------
 5 files changed, 4 insertions(+), 138 deletions(-)
 delete mode 100644 src/Database/Models/KpiModel.cs
 delete mode 100644 src/Database/ReturnObjects/KpiObject.cs
 delete mode 100644 src/Scaffolding/DataModel/Kpi.cs

diff --git a/src/Database/Models/KpiModel.cs b/src/Database/Models/KpiModel.cs
deleted file mode 100644
index dda2504..0000000
--- a/src/Database/Models/KpiModel.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-using Coscine.Database.DataModel;
-using Microsoft.EntityFrameworkCore;
-using System;
-
-namespace Coscine.Database.Models
-{
-    public class KpiModel : DatabaseModel<Kpi>
-    {
-        public override System.Linq.Expressions.Expression<Func<Kpi, Guid>> GetIdFromObject()
-        {
-            return (KpiObject) => KpiObject.Id;
-        }
-
-        public override DbSet<Kpi> GetITableFromDatabase(CoscineDB db)
-        {
-            return db.Kpis;
-        }
-
-        public override void SetObjectId(Kpi databaseObject, Guid id)
-        {
-            databaseObject.Id = id;
-        }
-
-        public int MarkAsSent(Kpi databaseObject)
-        {
-            databaseObject.SentSuccessfully = true;
-            return Update(databaseObject);
-        }
-    }
-}
diff --git a/src/Database/ReturnObjects/KpiObject.cs b/src/Database/ReturnObjects/KpiObject.cs
deleted file mode 100644
index fdd8b12..0000000
--- a/src/Database/ReturnObjects/KpiObject.cs
+++ /dev/null
@@ -1,38 +0,0 @@
-using System;
-
-namespace Coscine.Database.ReturnObjects
-{
-    public class KpiObject
-    {
-        public Guid Id { get; set; }
-        public string MeasurementID { get; set; }
-        public string Ikz { get; set; }
-        public double? Value { get; set; }
-        public DateTime? Start { get; set; }
-        public DateTime? End { get; set; }
-        public string AdditionalInfo { get; set; }
-        public string AdditionalInfo1 { get; set; }
-        public string AdditionalInfo2 { get; set; }
-        public string AdditionalInfo3 { get; set; }
-        public string AdditionalInfo4 { get; set; }
-        public string AdditionalInfo5 { get; set; }
-        public bool SentSuccessfully { get; set; }
-
-        public KpiObject(Guid id, string measurementId, string ikz, double value, DateTime start, DateTime end, string additionalInfo = "", string additionalInfo1 = "", string additionalInfo2 = "", string additionalInfo3 = "", string additionalInfo4 = "", string additionalInfo5 = "", bool sentSuccessfully = false)
-        {
-            Id = id;
-            MeasurementID = measurementId;
-            Ikz = ikz;
-            Value = value;
-            Start = start;
-            End = end;
-            AdditionalInfo = additionalInfo;
-            AdditionalInfo1 = additionalInfo1;
-            AdditionalInfo2 = additionalInfo2;
-            AdditionalInfo3 = additionalInfo3;
-            AdditionalInfo4 = additionalInfo4;
-            AdditionalInfo5 = additionalInfo5;
-            SentSuccessfully = sentSuccessfully;
-        }
-    }
-}
diff --git a/src/Scaffolding/CustomDesignTimeService.cs b/src/Scaffolding/CustomDesignTimeService.cs
index 1bd0565..ab3d221 100644
--- a/src/Scaffolding/CustomDesignTimeService.cs
+++ b/src/Scaffolding/CustomDesignTimeService.cs
@@ -8,7 +8,7 @@ namespace Coscine.Database
         public void ConfigureDesignTimeServices(IServiceCollection serviceCollection)
                     => serviceCollection.AddSingleton<IPluralizer, CustomPluralizer>();
     }
-    
+
     public class CustomPluralizer : IPluralizer
     {
         Inflector.Inflector _inflector = new Inflector.Inflector(System.Globalization.CultureInfo.GetCultureInfo("en-us"));
diff --git a/src/Scaffolding/DataModel/Kpi.cs b/src/Scaffolding/DataModel/Kpi.cs
deleted file mode 100644
index dba34ad..0000000
--- a/src/Scaffolding/DataModel/Kpi.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-using System;
-using System.Collections.Generic;
-
-namespace Coscine.Database.DataModel
-{
-    public partial class Kpi
-    {
-        public Guid Id { get; set; }
-        public string MeasurementId { get; set; }
-        public string Ikz { get; set; }
-        public double? Value { get; set; }
-        public DateTime? Start { get; set; }
-        public DateTime? End { get; set; }
-        public string AdditionalInfo { get; set; }
-        public string AdditionalInfo1 { get; set; }
-        public string AdditionalInfo2 { get; set; }
-        public string AdditionalInfo3 { get; set; }
-        public string AdditionalInfo4 { get; set; }
-        public string AdditionalInfo5 { get; set; }
-        public bool SentSuccessfully { get; set; }
-    }
-}
diff --git a/src/Scaffolding/DataModel/Model.cs b/src/Scaffolding/DataModel/Model.cs
index c845f6b..b9417b0 100644
--- a/src/Scaffolding/DataModel/Model.cs
+++ b/src/Scaffolding/DataModel/Model.cs
@@ -1,4 +1,4 @@
-using System;
+using System;
 using System.Collections.Generic;
 using Microsoft.EntityFrameworkCore;
 using Microsoft.EntityFrameworkCore.Metadata;
@@ -27,7 +27,6 @@ namespace Coscine.Database.DataModel
         public virtual DbSet<Group> Groups { get; set; }
         public virtual DbSet<GroupMembership> GroupMemberships { get; set; }
         public virtual DbSet<Invitation> Invitations { get; set; }
-        public virtual DbSet<Kpi> Kpis { get; set; }
         public virtual DbSet<Language> Languages { get; set; }
         public virtual DbSet<License> Licenses { get; set; }
         public virtual DbSet<LinkedResourceType> LinkedResourceTypes { get; set; }
@@ -259,51 +258,6 @@ namespace Coscine.Database.DataModel
                     .HasConstraintName("FK_Invitations_Role_Roles_Id");
             });
 
-            modelBuilder.Entity<Kpi>(entity =>
-            {
-                entity.ToTable("Kpi");
-
-                entity.Property(e => e.Id).HasDefaultValueSql("(newid())");
-
-                entity.Property(e => e.AdditionalInfo)
-                    .HasMaxLength(500)
-                    .HasDefaultValueSql("(N'')");
-
-                entity.Property(e => e.AdditionalInfo1)
-                    .HasMaxLength(500)
-                    .HasDefaultValueSql("(N'')");
-
-                entity.Property(e => e.AdditionalInfo2)
-                    .HasMaxLength(500)
-                    .HasDefaultValueSql("(N'')");
-
-                entity.Property(e => e.AdditionalInfo3)
-                    .HasMaxLength(500)
-                    .HasDefaultValueSql("(N'')");
-
-                entity.Property(e => e.AdditionalInfo4)
-                    .HasMaxLength(500)
-                    .HasDefaultValueSql("(N'')");
-
-                entity.Property(e => e.AdditionalInfo5)
-                    .HasMaxLength(500)
-                    .HasDefaultValueSql("(N'')");
-
-                entity.Property(e => e.End)
-                    .HasColumnType("datetime")
-                    .HasDefaultValueSql("(getdate())");
-
-                entity.Property(e => e.Ikz).HasMaxLength(9);
-
-                entity.Property(e => e.MeasurementId)
-                    .HasMaxLength(500)
-                    .HasColumnName("MeasurementID");
-
-                entity.Property(e => e.Start)
-                    .HasColumnType("datetime")
-                    .HasDefaultValueSql("(getdate())");
-            });
-
             modelBuilder.Entity<Language>(entity =>
             {
                 entity.Property(e => e.Id).HasDefaultValueSql("(newid())");
@@ -489,6 +443,7 @@ namespace Coscine.Database.DataModel
                 entity.HasOne(d => d.Resource)
                     .WithMany(p => p.ProjectResources)
                     .HasForeignKey(d => d.ResourceId)
+                    .OnDelete(DeleteBehavior.ClientSetNull)
                     .HasConstraintName("FK_ProjectResource_ResourceId_Resources_Id");
             });
 
@@ -675,6 +630,7 @@ namespace Coscine.Database.DataModel
                 entity.HasOne(d => d.Resource)
                     .WithMany(p => p.ResourceDisciplines)
                     .HasForeignKey(d => d.ResourceId)
+                    .OnDelete(DeleteBehavior.ClientSetNull)
                     .HasConstraintName("FK_ResourceDiscipline_ResourceId_Resources_Id");
             });
 
-- 
GitLab