From b2520f8f3219668daf2dfaedf5f2d2206eb65969 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Janis=20Daniel=20Da=CC=88hne?=
 <janis.daehne2@student.uni-halle.de>
Date: Wed, 12 Jun 2019 17:45:38 +0200
Subject: [PATCH] - fixed issue where some custom asset files are returned
 multiple times (in the same list) by the api

---
 .../Core/Exercises/DoExerciseController.cs           | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/src/ClientServer/Controllers/Core/Exercises/DoExerciseController.cs b/src/ClientServer/Controllers/Core/Exercises/DoExerciseController.cs
index 66529cd..3617f45 100644
--- a/src/ClientServer/Controllers/Core/Exercises/DoExerciseController.cs
+++ b/src/ClientServer/Controllers/Core/Exercises/DoExerciseController.cs
@@ -3375,8 +3375,6 @@ namespace ClientServer.Controllers.Core.Exercises
 
             var allFileReferencesForFrontend = new List<FilePreviewFromBackend>();
 
-            customTestFileReferences =
-                customTestFileReferences.DistinctBy(p => p.FileReferenceUserFileAssetId).ToList();
 
             foreach (var fileReference in customTestFileReferences)
             {
@@ -3389,8 +3387,6 @@ namespace ClientServer.Controllers.Core.Exercises
                 });
             }
 
-            customProjectDescriptionFileReferences =
-                customProjectDescriptionFileReferences.DistinctBy(p => p.FileReferenceUserFileAssetId).ToList();
 
             foreach (var fileReference in customProjectDescriptionFileReferences)
             {
@@ -3403,9 +3399,6 @@ namespace ClientServer.Controllers.Core.Exercises
                 });
             }
 
-            customProjectCustomTestFileReferences =
-                customProjectCustomTestFileReferences.DistinctBy(p => p.FileReferenceUserFileAssetId).ToList();
-
             foreach (var fileReference in customProjectCustomTestFileReferences)
             {
                 allFileReferencesForFrontend.Add(new FilePreviewFromBackend()
@@ -3417,6 +3410,11 @@ namespace ClientServer.Controllers.Core.Exercises
                 });
             }
 
+            //we do distinct on the whole list because user file can be used as markdown asset and test asset...
+            //also a test asset can be used in multiple tests... so it's easier to do this on the whole list
+            allFileReferencesForFrontend = allFileReferencesForFrontend
+                .DistinctBy(p => p.Id)
+                .ToList();
 
             await
                 Response.WriteAsync(
-- 
GitLab