@@ -11,15 +11,13 @@ namespace DigitalLearningSolutions.Web.Services
1111 using ClosedXML . Excel ;
1212 using DigitalLearningSolutions . Data . Exceptions ;
1313 using DigitalLearningSolutions . Data . Helpers ;
14- using DigitalLearningSolutions . Data . Models . Frameworks ;
1514 using DigitalLearningSolutions . Data . Models . Frameworks . Import ;
16- using DocumentFormat . OpenXml . Office2010 . Excel ;
1715
1816 public interface IImportCompetenciesFromFileService
1917 {
2018 byte [ ] GetCompetencyFileForFramework ( int frameworkId , bool isBlank , string vocabulary ) ;
2119 public ImportCompetenciesResult PreProcessCompetenciesTable ( IXLWorkbook workbook , string vocabulary , int frameworkId ) ;
22- public ImportCompetenciesResult ProcessCompetenciesFromFile ( IXLWorkbook workbook , int adminUserId , int frameworkId , string vocabulary , int reorderCompetenciesOption , int addAssessmentQuestionsOption , int customAssessmentQuestionID , List < int > defaultQuestionIds ) ;
20+ public ImportCompetenciesResult ProcessCompetenciesFromFile ( IXLWorkbook workbook , int adminId , int frameworkId , string vocabulary , int reorderCompetenciesOption , int addAssessmentQuestionsOption , int customAssessmentQuestionID , List < int > defaultQuestionIds ) ;
2321 }
2422 public class ImportCompetenciesFromFileService : IImportCompetenciesFromFileService
2523 {
@@ -70,12 +68,12 @@ private void PreProcessCompetencyRow(CompetencyTableRow competencyRow, List<int>
7068 }
7169 competencyRow . Validate ( ) ;
7270 }
73- public ImportCompetenciesResult ProcessCompetenciesFromFile ( IXLWorkbook workbook , int adminUserId , int frameworkId , string vocabulary , int reorderCompetenciesOption , int addAssessmentQuestionsOption , int customAssessmentQuestionID , List < int > defaultQuestionIds )
71+ public ImportCompetenciesResult ProcessCompetenciesFromFile ( IXLWorkbook workbook , int adminId , int frameworkId , string vocabulary , int reorderCompetenciesOption , int addAssessmentQuestionsOption , int customAssessmentQuestionID , List < int > defaultQuestionIds )
7472 {
7573 int maxFrameworkCompetencyId = frameworkService . GetMaxFrameworkCompetencyID ( ) ;
7674 int maxFrameworkCompetencyGroupId = frameworkService . GetMaxFrameworkCompetencyGroupID ( ) ;
7775 var table = OpenCompetenciesTable ( workbook , vocabulary ) ;
78- return ProcessCompetenciesTable ( table , adminUserId , frameworkId , maxFrameworkCompetencyId , maxFrameworkCompetencyGroupId , addAssessmentQuestionsOption , reorderCompetenciesOption , customAssessmentQuestionID , defaultQuestionIds ) ;
76+ return ProcessCompetenciesTable ( table , adminId , frameworkId , maxFrameworkCompetencyId , maxFrameworkCompetencyGroupId , addAssessmentQuestionsOption , reorderCompetenciesOption , customAssessmentQuestionID , defaultQuestionIds ) ;
7977 }
8078 internal IXLTable OpenCompetenciesTable ( IXLWorkbook workbook , string vocabulary )
8179 {
@@ -92,7 +90,7 @@ internal IXLTable OpenCompetenciesTable(IXLWorkbook workbook, string vocabulary)
9290 }
9391 return table ;
9492 }
95- internal ImportCompetenciesResult ProcessCompetenciesTable ( IXLTable table , int adminUserId , int frameworkId , int maxFrameworkCompetencyId , int maxFrameworkCompetencyGroupId , int addAssessmentQuestionsOption , int reorderCompetenciesOption , int customAssessmentQuestionID , List < int > defaultQuestionIds )
93+ internal ImportCompetenciesResult ProcessCompetenciesTable ( IXLTable table , int adminId , int frameworkId , int maxFrameworkCompetencyId , int maxFrameworkCompetencyGroupId , int addAssessmentQuestionsOption , int reorderCompetenciesOption , int customAssessmentQuestionID , List < int > defaultQuestionIds )
9694 {
9795 var competenciesRows = table . Rows ( ) . Skip ( 1 ) . Select ( row => new CompetencyTableRow ( table , row ) ) . ToList ( ) ;
9896 int rowCount = 0 ;
@@ -120,7 +118,7 @@ internal ImportCompetenciesResult ProcessCompetenciesTable(IXLTable table, int a
120118 . Count ( ) ;
121119 foreach ( var competencyRow in competenciesRows )
122120 {
123- maxFrameworkCompetencyGroupId = ProcessCompetencyRow ( adminUserId , frameworkId , maxFrameworkCompetencyId , maxFrameworkCompetencyGroupId , addAssessmentQuestionsOption , reorderCompetenciesOption , customAssessmentQuestionID , defaultQuestionIds , competencyRow ) ;
121+ maxFrameworkCompetencyGroupId = ProcessCompetencyRow ( adminId , frameworkId , maxFrameworkCompetencyId , maxFrameworkCompetencyGroupId , addAssessmentQuestionsOption , reorderCompetenciesOption , customAssessmentQuestionID , defaultQuestionIds , competencyRow ) ;
124122 }
125123 // Check for changes to competency group order and apply them if appropriate:
126124 if ( reorderCompetenciesOption == 2 )
@@ -135,7 +133,7 @@ internal ImportCompetenciesResult ProcessCompetenciesTable(IXLTable table, int a
135133 var existingGroups = frameworkService . GetFrameworkCompetencyGroups ( frameworkId ) . Select ( row => new { row . ID , row . Name } )
136134 . Distinct ( )
137135 . ToList ( ) ;
138- var placesToMove = Math . Abs ( existingGroups . FindIndex ( group => group . Name == distinctCompetencyGroups [ i ] ) - i ) ;
136+ var placesToMove = Math . Abs ( existingGroups . FindIndex ( group => group . Name == distinctCompetencyGroups [ i ] ) - i ) ;
139137 if ( placesToMove > 0 )
140138 {
141139 var thisGroup = existingGroups . FirstOrDefault ( group => group . Name == distinctCompetencyGroups [ i ] ) ;
@@ -154,7 +152,7 @@ internal ImportCompetenciesResult ProcessCompetenciesTable(IXLTable table, int a
154152 return new ImportCompetenciesResult ( competenciesRows ) ;
155153 }
156154 private int ProcessCompetencyRow (
157- int adminUserId ,
155+ int adminId ,
158156 int frameworkId ,
159157 int maxFrameworkCompetencyId ,
160158 int maxFrameworkCompetencyGroupId ,
@@ -175,27 +173,22 @@ CompetencyTableRow competencyRow
175173 int ? frameworkCompetencyGroupId = null ;
176174 if ( competencyRow . CompetencyGroup != null )
177175 {
178- int newCompetencyGroupId = frameworkService . InsertCompetencyGroup ( competencyRow . CompetencyGroup , competencyRow . GroupDescription , adminUserId , frameworkId ) ;
176+ int newCompetencyGroupId = frameworkService . InsertCompetencyGroup ( competencyRow . CompetencyGroup , competencyRow . GroupDescription , adminId , frameworkId ) ;
179177 if ( newCompetencyGroupId > 0 )
180178 {
181- frameworkCompetencyGroupId = frameworkService . InsertFrameworkCompetencyGroup ( newCompetencyGroupId , frameworkId , adminUserId ) ;
179+ frameworkCompetencyGroupId = frameworkService . InsertFrameworkCompetencyGroup ( newCompetencyGroupId , frameworkId , adminId ) ;
182180 if ( frameworkCompetencyGroupId > maxFrameworkCompetencyGroupId )
183181 {
184182 maxFrameworkCompetencyGroupId = ( int ) frameworkCompetencyGroupId ;
185183 competencyRow . RowStatus = RowStatus . CompetencyGroupInserted ;
186184 }
187185 else
188186 {
189- //TO DO: Need to get frameworkCompetencyGroupId and check admin ID
190187 frameworkCompetencyGroupId = frameworkService . GetFrameworkCompetencyGroupId ( frameworkId , newCompetencyGroupId ) ;
191- var isUpdated = frameworkService . UpdateFrameworkCompetencyGroup ( ( int ) frameworkCompetencyGroupId , newCompetencyGroupId , competencyRow . CompetencyGroup , competencyRow . GroupDescription , adminUserId ) ;
188+ var isUpdated = frameworkService . UpdateFrameworkCompetencyGroup ( ( int ) frameworkCompetencyGroupId , newCompetencyGroupId , competencyRow . CompetencyGroup , competencyRow . GroupDescription , adminId ) ;
192189 competencyRow . RowStatus = RowStatus . CompetencyGroupUpdated ;
193190 }
194191 }
195- else
196- {
197-
198- }
199192 }
200193 // If FrameworkCompetency ID is supplied, update the competency
201194 if ( competencyRow . ID != null )
@@ -206,7 +199,7 @@ CompetencyTableRow competencyRow
206199 newCompetencyId = frameworkCompetency . CompetencyID ;
207200 if ( frameworkCompetency . Name != competencyRow . Competency || frameworkCompetency . Description != competencyRow . CompetencyDescription || frameworkCompetency . AlwaysShowDescription != competencyRow . AlwaysShowDescription )
208201 {
209- frameworkService . UpdateFrameworkCompetency ( ( int ) competencyRow . ID , competencyRow . Competency , competencyRow . CompetencyDescription , adminUserId , competencyRow . AlwaysShowDescription ?? false ) ;
202+ frameworkService . UpdateFrameworkCompetency ( ( int ) competencyRow . ID , competencyRow . Competency , competencyRow . CompetencyDescription , adminId , competencyRow . AlwaysShowDescription ?? false ) ;
210203 competencyRow . RowStatus = ( competencyRow . RowStatus == RowStatus . CompetencyGroupInserted ? RowStatus . CompetencyGroupAndCompetencyUpdated : RowStatus . CompetencyUpdated ) ;
211204 }
212205 else
@@ -218,10 +211,10 @@ CompetencyTableRow competencyRow
218211 else
219212 {
220213 //Check if competency already exists in framework competency group and add if not
221- newCompetencyId = frameworkService . InsertCompetency ( competencyRow . Competency , competencyRow . CompetencyDescription , adminUserId ) ;
214+ newCompetencyId = frameworkService . InsertCompetency ( competencyRow . Competency , competencyRow . CompetencyDescription , adminId ) ;
222215 if ( newCompetencyId > 0 )
223216 {
224- newFrameworkCompetencyId = frameworkService . InsertFrameworkCompetency ( newCompetencyId , frameworkCompetencyGroupId , adminUserId , frameworkId , competencyRow . AlwaysShowDescription ?? false ) ; //including always show desc flag
217+ newFrameworkCompetencyId = frameworkService . InsertFrameworkCompetency ( newCompetencyId , frameworkCompetencyGroupId , adminId , frameworkId , competencyRow . AlwaysShowDescription ?? false ) ; //including always show desc flag
225218 if ( newFrameworkCompetencyId > maxFrameworkCompetencyId )
226219 {
227220 competencyRow . RowStatus = ( competencyRow . RowStatus == RowStatus . CompetencyGroupInserted ? RowStatus . CompetencyGroupAndCompetencyInserted : RowStatus . CompetencyInserted ) ;
@@ -297,16 +290,16 @@ CompetencyTableRow competencyRow
297290 {
298291 foreach ( var id in defaultQuestionIds )
299292 {
300- frameworkService . AddCompetencyAssessmentQuestion ( competencyRow . ID ?? newFrameworkCompetencyId , id , adminUserId ) ;
293+ frameworkService . AddCompetencyAssessmentQuestion ( competencyRow . ID ?? newFrameworkCompetencyId , id , adminId ) ;
301294 }
302295 if ( customAssessmentQuestionID > 0 )
303296 {
304- frameworkService . AddCompetencyAssessmentQuestion ( competencyRow . ID ?? newFrameworkCompetencyId , customAssessmentQuestionID , adminUserId ) ;
297+ frameworkService . AddCompetencyAssessmentQuestion ( competencyRow . ID ?? newFrameworkCompetencyId , customAssessmentQuestionID , adminId ) ;
305298 }
306299 }
307300 }
308301
309-
302+
310303
311304 return maxFrameworkCompetencyGroupId ;
312305 }
0 commit comments