Skip to content

Commit 1a1da2b

Browse files
committed
Fixes output of inserted item ID when adding competency groups
1 parent 936e747 commit 1a1da2b

File tree

1 file changed

+6
-35
lines changed

1 file changed

+6
-35
lines changed

DigitalLearningSolutions.Data/DataServices/FrameworkDataService.cs

Lines changed: 6 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -574,31 +574,13 @@ FROM FrameworkCompetencyGroups
574574
return existingId;
575575
}
576576

577-
var numberOfAffectedRows = connection.Execute(
577+
existingId = connection.QuerySingle<int>(
578578
@"INSERT INTO CompetencyGroups ([Name], [Description], UpdatedByAdminID)
579+
OUTPUT INSERTED.Id
579580
VALUES (@groupName, @groupDescription, @adminId)",
580581
new { groupName, groupDescription, adminId }
581582
);
582-
if (numberOfAffectedRows < 1)
583-
{
584-
logger.LogWarning(
585-
"Not inserting competency group as db insert failed. " +
586-
$"Group name: {groupName}, admin id: {adminId}"
587-
);
588-
return -1;
589-
}
590-
591-
existingId = connection.QuerySingle<int>(
592-
@"SELECT COALESCE
593-
((SELECT TOP (1) ID
594-
FROM CompetencyGroups
595-
WHERE (Name = @groupName) AND EXISTS
596-
(SELECT 1 AS Expr1
597-
FROM FrameworkCompetencyGroups
598-
WHERE (CompetencyGroupID = CompetencyGroups.ID) AND (FrameworkID = @frameworkId) OR
599-
(CompetencyGroupID = CompetencyGroups.ID) AND (@frameworkId IS NULL))), 0) AS CompetencyGroupID",
600-
new { groupName, groupDescription }
601-
);
583+
602584
return existingId;
603585
}
604586

@@ -621,27 +603,16 @@ public int InsertFrameworkCompetencyGroup(int groupId, int frameworkId, int admi
621603
return existingId;
622604
}
623605

624-
var numberOfAffectedRows = connection.Execute(
606+
existingId = connection.QuerySingle<int>(
625607
@"INSERT INTO FrameworkCompetencyGroups (CompetencyGroupID, UpdatedByAdminID, Ordering, FrameworkID)
608+
OUTPUT INSERTED.Id
626609
VALUES (@groupId, @adminId, COALESCE
627610
((SELECT MAX(Ordering)
628611
FROM [FrameworkCompetencyGroups]
629612
WHERE ([FrameworkID] = @frameworkId)), 0)+1, @frameworkId)",
630613
new { groupId, adminId, frameworkId }
631614
);
632-
if (numberOfAffectedRows < 1)
633-
{
634-
logger.LogWarning(
635-
"Not inserting framework competency group as db insert failed. " +
636-
$"Group id: {groupId}, admin id: {adminId}, frameworkId: {frameworkId}"
637-
);
638-
return -1;
639-
}
640-
641-
existingId = connection.QuerySingle<int>(
642-
@"SELECT COALESCE ((SELECT ID FROM FrameworkCompetencyGroups WHERE CompetencyGroupID = @groupID AND FrameworkID = @frameworkID), 0) AS FrameworkCompetencyGroupID",
643-
new { groupId, frameworkId }
644-
);
615+
645616
return existingId;
646617
}
647618

0 commit comments

Comments
 (0)