|
@@ -34,7 +34,7 @@ namespace CompetencyAssessment.CompetencyAssessmentModels
|
|
| 34 |
if (!optionsBuilder.IsConfigured)
|
| 35 |
{
|
| 36 |
#warning To protect potentially sensitive information in your connection string, you should move it out of source code. You can avoid scaffolding the connection string by using the Name= syntax to read it from configuration - see https://go.microsoft.com/fwlink/?linkid=2131148. For more guidance on storing connection strings, see http://go.microsoft.com/fwlink/?LinkId=723263.
|
| 37 |
-
optionsBuilder.UseMySql("server=localhost;port=3306;user=root;password=53276464;database=CompetencyAssessment", Microsoft.EntityFrameworkCore.ServerVersion.Parse("
|
| 38 |
}
|
| 39 |
}
|
| 40 |
|
|
@@ -127,8 +127,18 @@ namespace CompetencyAssessment.CompetencyAssessmentModels
|
|
| 127 |
|
| 128 |
entity.Property(e => e.Score15).HasPrecision(9, 6);
|
| 129 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 130 |
entity.Property(e => e.Score2).HasPrecision(9, 6);
|
| 131 |
|
|
|
|
|
|
|
| 132 |
entity.Property(e => e.Score3).HasPrecision(9, 6);
|
| 133 |
|
| 134 |
entity.Property(e => e.Score4).HasPrecision(9, 6);
|
|
@@ -190,8 +200,18 @@ namespace CompetencyAssessment.CompetencyAssessmentModels
|
|
| 190 |
|
| 191 |
entity.Property(e => e.Score15).HasPrecision(9, 6);
|
| 192 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 193 |
entity.Property(e => e.Score2).HasPrecision(9, 6);
|
| 194 |
|
|
|
|
|
|
|
| 195 |
entity.Property(e => e.Score3).HasPrecision(9, 6);
|
| 196 |
|
| 197 |
entity.Property(e => e.Score4).HasPrecision(9, 6);
|
|
@@ -229,41 +249,51 @@ namespace CompetencyAssessment.CompetencyAssessmentModels
|
|
| 229 |
|
| 230 |
entity.Property(e => e.Id).HasColumnType("int(10) unsigned");
|
| 231 |
|
| 232 |
-
entity.Property(e => e.Competency1).HasMaxLength(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 233 |
|
| 234 |
-
entity.Property(e => e.
|
| 235 |
|
| 236 |
-
entity.Property(e => e.
|
| 237 |
|
| 238 |
-
entity.Property(e => e.
|
| 239 |
|
| 240 |
-
entity.Property(e => e.
|
| 241 |
|
| 242 |
-
entity.Property(e => e.
|
| 243 |
|
| 244 |
-
entity.Property(e => e.
|
| 245 |
|
| 246 |
-
entity.Property(e => e.
|
| 247 |
|
| 248 |
-
entity.Property(e => e.
|
| 249 |
|
| 250 |
-
entity.Property(e => e.
|
| 251 |
|
| 252 |
-
entity.Property(e => e.
|
| 253 |
|
| 254 |
-
entity.Property(e => e.
|
| 255 |
|
| 256 |
-
entity.Property(e => e.
|
| 257 |
|
| 258 |
-
entity.Property(e => e.
|
| 259 |
|
| 260 |
-
entity.Property(e => e.
|
|
|
|
|
|
|
|
|
|
|
|
|
| 261 |
|
| 262 |
entity.Property(e => e.CreateDate).HasColumnType("datetime");
|
| 263 |
|
| 264 |
entity.Property(e => e.Duration).HasColumnType("tinyint(3) unsigned");
|
| 265 |
|
| 266 |
-
entity.Property(e => e.Instruction).HasMaxLength(
|
| 267 |
|
| 268 |
entity.Property(e => e.MinSources).HasColumnType("tinyint(3) unsigned");
|
| 269 |
|
|
@@ -285,8 +315,18 @@ namespace CompetencyAssessment.CompetencyAssessmentModels
|
|
| 285 |
|
| 286 |
entity.Property(e => e.Recommendation15).HasMaxLength(500);
|
| 287 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 288 |
entity.Property(e => e.Recommendation2).HasMaxLength(500);
|
| 289 |
|
|
|
|
|
|
|
| 290 |
entity.Property(e => e.Recommendation3).HasMaxLength(500);
|
| 291 |
|
| 292 |
entity.Property(e => e.Recommendation4).HasMaxLength(500);
|
|
@@ -315,8 +355,18 @@ namespace CompetencyAssessment.CompetencyAssessmentModels
|
|
| 315 |
|
| 316 |
entity.Property(e => e.Threshold15).HasPrecision(9, 6);
|
| 317 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 318 |
entity.Property(e => e.Threshold2).HasPrecision(9, 6);
|
| 319 |
|
|
|
|
|
|
|
| 320 |
entity.Property(e => e.Threshold3).HasPrecision(9, 6);
|
| 321 |
|
| 322 |
entity.Property(e => e.Threshold4).HasPrecision(9, 6);
|
|
|
|
| 34 |
if (!optionsBuilder.IsConfigured)
|
| 35 |
{
|
| 36 |
#warning To protect potentially sensitive information in your connection string, you should move it out of source code. You can avoid scaffolding the connection string by using the Name= syntax to read it from configuration - see https://go.microsoft.com/fwlink/?linkid=2131148. For more guidance on storing connection strings, see http://go.microsoft.com/fwlink/?LinkId=723263.
|
| 37 |
+
optionsBuilder.UseMySql("server=localhost;port=3306;user=root;password=53276464;database=CompetencyAssessment", Microsoft.EntityFrameworkCore.ServerVersion.Parse("10.6.22-mariadb"));
|
| 38 |
}
|
| 39 |
}
|
| 40 |
|
|
|
|
| 127 |
|
| 128 |
entity.Property(e => e.Score15).HasPrecision(9, 6);
|
| 129 |
|
| 130 |
+
entity.Property(e => e.Score16).HasPrecision(9, 6);
|
| 131 |
+
|
| 132 |
+
entity.Property(e => e.Score17).HasPrecision(9, 6);
|
| 133 |
+
|
| 134 |
+
entity.Property(e => e.Score18).HasPrecision(9, 6);
|
| 135 |
+
|
| 136 |
+
entity.Property(e => e.Score19).HasPrecision(9, 6);
|
| 137 |
+
|
| 138 |
entity.Property(e => e.Score2).HasPrecision(9, 6);
|
| 139 |
|
| 140 |
+
entity.Property(e => e.Score20).HasPrecision(9, 6);
|
| 141 |
+
|
| 142 |
entity.Property(e => e.Score3).HasPrecision(9, 6);
|
| 143 |
|
| 144 |
entity.Property(e => e.Score4).HasPrecision(9, 6);
|
|
|
|
| 200 |
|
| 201 |
entity.Property(e => e.Score15).HasPrecision(9, 6);
|
| 202 |
|
| 203 |
+
entity.Property(e => e.Score16).HasPrecision(9, 6);
|
| 204 |
+
|
| 205 |
+
entity.Property(e => e.Score17).HasPrecision(9, 6);
|
| 206 |
+
|
| 207 |
+
entity.Property(e => e.Score18).HasPrecision(9, 6);
|
| 208 |
+
|
| 209 |
+
entity.Property(e => e.Score19).HasPrecision(9, 6);
|
| 210 |
+
|
| 211 |
entity.Property(e => e.Score2).HasPrecision(9, 6);
|
| 212 |
|
| 213 |
+
entity.Property(e => e.Score20).HasPrecision(9, 6);
|
| 214 |
+
|
| 215 |
entity.Property(e => e.Score3).HasPrecision(9, 6);
|
| 216 |
|
| 217 |
entity.Property(e => e.Score4).HasPrecision(9, 6);
|
|
|
|
| 249 |
|
| 250 |
entity.Property(e => e.Id).HasColumnType("int(10) unsigned");
|
| 251 |
|
| 252 |
+
entity.Property(e => e.Competency1).HasMaxLength(400);
|
| 253 |
+
|
| 254 |
+
entity.Property(e => e.Competency10).HasMaxLength(400);
|
| 255 |
+
|
| 256 |
+
entity.Property(e => e.Competency11).HasMaxLength(400);
|
| 257 |
+
|
| 258 |
+
entity.Property(e => e.Competency12).HasMaxLength(400);
|
| 259 |
|
| 260 |
+
entity.Property(e => e.Competency13).HasMaxLength(400);
|
| 261 |
|
| 262 |
+
entity.Property(e => e.Competency14).HasMaxLength(400);
|
| 263 |
|
| 264 |
+
entity.Property(e => e.Competency15).HasMaxLength(400);
|
| 265 |
|
| 266 |
+
entity.Property(e => e.Competency16).HasColumnType("text");
|
| 267 |
|
| 268 |
+
entity.Property(e => e.Competency17).HasColumnType("text");
|
| 269 |
|
| 270 |
+
entity.Property(e => e.Competency18).HasColumnType("text");
|
| 271 |
|
| 272 |
+
entity.Property(e => e.Competency19).HasColumnType("text");
|
| 273 |
|
| 274 |
+
entity.Property(e => e.Competency2).HasMaxLength(400);
|
| 275 |
|
| 276 |
+
entity.Property(e => e.Competency20).HasColumnType("text");
|
| 277 |
|
| 278 |
+
entity.Property(e => e.Competency3).HasMaxLength(400);
|
| 279 |
|
| 280 |
+
entity.Property(e => e.Competency4).HasMaxLength(400);
|
| 281 |
|
| 282 |
+
entity.Property(e => e.Competency5).HasMaxLength(400);
|
| 283 |
|
| 284 |
+
entity.Property(e => e.Competency6).HasMaxLength(400);
|
| 285 |
|
| 286 |
+
entity.Property(e => e.Competency7).HasMaxLength(400);
|
| 287 |
+
|
| 288 |
+
entity.Property(e => e.Competency8).HasMaxLength(400);
|
| 289 |
+
|
| 290 |
+
entity.Property(e => e.Competency9).HasMaxLength(400);
|
| 291 |
|
| 292 |
entity.Property(e => e.CreateDate).HasColumnType("datetime");
|
| 293 |
|
| 294 |
entity.Property(e => e.Duration).HasColumnType("tinyint(3) unsigned");
|
| 295 |
|
| 296 |
+
entity.Property(e => e.Instruction).HasMaxLength(2000);
|
| 297 |
|
| 298 |
entity.Property(e => e.MinSources).HasColumnType("tinyint(3) unsigned");
|
| 299 |
|
|
|
|
| 315 |
|
| 316 |
entity.Property(e => e.Recommendation15).HasMaxLength(500);
|
| 317 |
|
| 318 |
+
entity.Property(e => e.Recommendation16).HasPrecision(9, 6);
|
| 319 |
+
|
| 320 |
+
entity.Property(e => e.Recommendation17).HasPrecision(9, 6);
|
| 321 |
+
|
| 322 |
+
entity.Property(e => e.Recommendation18).HasPrecision(9, 6);
|
| 323 |
+
|
| 324 |
+
entity.Property(e => e.Recommendation19).HasPrecision(9, 6);
|
| 325 |
+
|
| 326 |
entity.Property(e => e.Recommendation2).HasMaxLength(500);
|
| 327 |
|
| 328 |
+
entity.Property(e => e.Recommendation20).HasPrecision(9, 6);
|
| 329 |
+
|
| 330 |
entity.Property(e => e.Recommendation3).HasMaxLength(500);
|
| 331 |
|
| 332 |
entity.Property(e => e.Recommendation4).HasMaxLength(500);
|
|
|
|
| 355 |
|
| 356 |
entity.Property(e => e.Threshold15).HasPrecision(9, 6);
|
| 357 |
|
| 358 |
+
entity.Property(e => e.Threshold16).HasColumnType("text");
|
| 359 |
+
|
| 360 |
+
entity.Property(e => e.Threshold17).HasColumnType("text");
|
| 361 |
+
|
| 362 |
+
entity.Property(e => e.Threshold18).HasColumnType("text");
|
| 363 |
+
|
| 364 |
+
entity.Property(e => e.Threshold19).HasColumnType("text");
|
| 365 |
+
|
| 366 |
entity.Property(e => e.Threshold2).HasPrecision(9, 6);
|
| 367 |
|
| 368 |
+
entity.Property(e => e.Threshold20).HasColumnType("text");
|
| 369 |
+
|
| 370 |
entity.Property(e => e.Threshold3).HasPrecision(9, 6);
|
| 371 |
|
| 372 |
entity.Property(e => e.Threshold4).HasPrecision(9, 6);
|
|
@@ -25,6 +25,11 @@ namespace CompetencyAssessment.CompetencyAssessmentModels
|
|
| 25 |
public decimal? Score13 { get; set; }
|
| 26 |
public decimal? Score14 { get; set; }
|
| 27 |
public decimal? Score15 { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 28 |
public decimal TotalScore { get; set; }
|
| 29 |
public DateTime CreateDate { get; set; }
|
| 30 |
|
|
|
|
| 25 |
public decimal? Score13 { get; set; }
|
| 26 |
public decimal? Score14 { get; set; }
|
| 27 |
public decimal? Score15 { get; set; }
|
| 28 |
+
public decimal? Score16 { get; set; }
|
| 29 |
+
public decimal? Score17 { get; set; }
|
| 30 |
+
public decimal? Score18 { get; set; }
|
| 31 |
+
public decimal? Score19 { get; set; }
|
| 32 |
+
public decimal? Score20 { get; set; }
|
| 33 |
public decimal TotalScore { get; set; }
|
| 34 |
public DateTime CreateDate { get; set; }
|
| 35 |
|
|
@@ -25,6 +25,11 @@ namespace CompetencyAssessment.CompetencyAssessmentModels
|
|
| 25 |
public decimal? Score13 { get; set; }
|
| 26 |
public decimal? Score14 { get; set; }
|
| 27 |
public decimal? Score15 { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 28 |
public decimal TotalScore { get; set; }
|
| 29 |
public DateTime CreateDate { get; set; }
|
| 30 |
|
|
|
|
| 25 |
public decimal? Score13 { get; set; }
|
| 26 |
public decimal? Score14 { get; set; }
|
| 27 |
public decimal? Score15 { get; set; }
|
| 28 |
+
public decimal? Score16 { get; set; }
|
| 29 |
+
public decimal? Score17 { get; set; }
|
| 30 |
+
public decimal? Score18 { get; set; }
|
| 31 |
+
public decimal? Score19 { get; set; }
|
| 32 |
+
public decimal? Score20 { get; set; }
|
| 33 |
public decimal TotalScore { get; set; }
|
| 34 |
public DateTime CreateDate { get; set; }
|
| 35 |
|
|
@@ -62,6 +62,21 @@ namespace CompetencyAssessment.CompetencyAssessmentModels
|
|
| 62 |
public string? Competency15 { get; set; }
|
| 63 |
public decimal? Threshold15 { get; set; }
|
| 64 |
public string? Recommendation15 { get; set; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 65 |
public uint UserId { get; set; }
|
| 66 |
public DateTime CreateDate { get; set; }
|
| 67 |
|
|
|
|
| 62 |
public string? Competency15 { get; set; }
|
| 63 |
public decimal? Threshold15 { get; set; }
|
| 64 |
public string? Recommendation15 { get; set; }
|
| 65 |
+
public string? Competency16 { get; set; }
|
| 66 |
+
public string? Threshold16 { get; set; }
|
| 67 |
+
public decimal? Recommendation16 { get; set; }
|
| 68 |
+
public string? Competency17 { get; set; }
|
| 69 |
+
public string? Threshold17 { get; set; }
|
| 70 |
+
public decimal? Recommendation17 { get; set; }
|
| 71 |
+
public string? Competency18 { get; set; }
|
| 72 |
+
public string? Threshold18 { get; set; }
|
| 73 |
+
public decimal? Recommendation18 { get; set; }
|
| 74 |
+
public string? Competency19 { get; set; }
|
| 75 |
+
public string? Threshold19 { get; set; }
|
| 76 |
+
public decimal? Recommendation19 { get; set; }
|
| 77 |
+
public string? Competency20 { get; set; }
|
| 78 |
+
public string? Threshold20 { get; set; }
|
| 79 |
+
public decimal? Recommendation20 { get; set; }
|
| 80 |
public uint UserId { get; set; }
|
| 81 |
public DateTime CreateDate { get; set; }
|
| 82 |
|
|
@@ -141,23 +141,15 @@ public class ReportsController : ControllerBase
|
|
| 141 |
var test = db.Test.Find(train.TestId);
|
| 142 |
if (test == null) return NotFound();
|
| 143 |
|
| 144 |
-
List<string> Competencies = new List<string>();
|
| 145 |
|
| 146 |
-
|
| 147 |
-
|
| 148 |
-
|
| 149 |
-
|
| 150 |
-
|
| 151 |
-
|
| 152 |
-
|
| 153 |
-
if (test.NumCompetencies >= 8) Competencies.Add(test.Competency8);
|
| 154 |
-
if (test.NumCompetencies >= 9) Competencies.Add(test.Competency9);
|
| 155 |
-
if (test.NumCompetencies >= 10) Competencies.Add(test.Competency10);
|
| 156 |
-
if (test.NumCompetencies >= 11) Competencies.Add(test.Competency11);
|
| 157 |
-
if (test.NumCompetencies >= 12) Competencies.Add(test.Competency12);
|
| 158 |
-
if (test.NumCompetencies >= 13) Competencies.Add(test.Competency13);
|
| 159 |
-
if (test.NumCompetencies >= 14) Competencies.Add(test.Competency14);
|
| 160 |
-
if (test.NumCompetencies >= 15) Competencies.Add(test.Competency15);
|
| 161 |
|
| 162 |
var trainees = from x in db.Trainee
|
| 163 |
join y in db.Department on x.DepartmentId equals y.Id
|
|
@@ -237,23 +229,16 @@ public class ReportsController : ControllerBase
|
|
| 237 |
var test = db.Test.Find(train.TestId);
|
| 238 |
if (test == null) return NotFound();
|
| 239 |
|
| 240 |
-
List<string> Competencies = new List<string>();
|
| 241 |
|
| 242 |
-
|
| 243 |
-
|
| 244 |
-
|
| 245 |
-
|
| 246 |
-
|
| 247 |
-
|
| 248 |
-
|
| 249 |
-
|
| 250 |
-
if (test.NumCompetencies >= 9) Competencies.Add(test.Competency9);
|
| 251 |
-
if (test.NumCompetencies >= 10) Competencies.Add(test.Competency10);
|
| 252 |
-
if (test.NumCompetencies >= 11) Competencies.Add(test.Competency11);
|
| 253 |
-
if (test.NumCompetencies >= 12) Competencies.Add(test.Competency12);
|
| 254 |
-
if (test.NumCompetencies >= 13) Competencies.Add(test.Competency13);
|
| 255 |
-
if (test.NumCompetencies >= 14) Competencies.Add(test.Competency14);
|
| 256 |
-
if (test.NumCompetencies >= 15) Competencies.Add(test.Competency15);
|
| 257 |
|
| 258 |
var trainees = from x in db.Trainee
|
| 259 |
join y in db.Department on x.DepartmentId equals y.Id
|
|
@@ -333,23 +318,16 @@ public class ReportsController : ControllerBase
|
|
| 333 |
var test = db.Test.Find(train.TestId);
|
| 334 |
if (test == null) return NotFound();
|
| 335 |
|
| 336 |
-
List<string> Competencies = new List<string>();
|
| 337 |
|
| 338 |
-
|
| 339 |
-
|
| 340 |
-
|
| 341 |
-
|
| 342 |
-
|
| 343 |
-
|
| 344 |
-
|
| 345 |
-
|
| 346 |
-
if (test.NumCompetencies >= 9) Competencies.Add(test.Competency9);
|
| 347 |
-
if (test.NumCompetencies >= 10) Competencies.Add(test.Competency10);
|
| 348 |
-
if (test.NumCompetencies >= 11) Competencies.Add(test.Competency11);
|
| 349 |
-
if (test.NumCompetencies >= 12) Competencies.Add(test.Competency12);
|
| 350 |
-
if (test.NumCompetencies >= 13) Competencies.Add(test.Competency13);
|
| 351 |
-
if (test.NumCompetencies >= 14) Competencies.Add(test.Competency14);
|
| 352 |
-
if (test.NumCompetencies >= 15) Competencies.Add(test.Competency15);
|
| 353 |
|
| 354 |
var trainees = from x in db.Trainee
|
| 355 |
join y in db.Department on x.DepartmentId equals y.Id
|
|
@@ -412,23 +390,15 @@ public class ReportsController : ControllerBase
|
|
| 412 |
var test = db.Test.Find(train.TestId);
|
| 413 |
if (test == null) return NotFound();
|
| 414 |
|
| 415 |
-
List<string> Competencies = new List<string>();
|
| 416 |
|
| 417 |
-
|
| 418 |
-
|
| 419 |
-
|
| 420 |
-
|
| 421 |
-
|
| 422 |
-
|
| 423 |
-
|
| 424 |
-
if (test.NumCompetencies >= 8) Competencies.Add(test.Competency8);
|
| 425 |
-
if (test.NumCompetencies >= 9) Competencies.Add(test.Competency9);
|
| 426 |
-
if (test.NumCompetencies >= 10) Competencies.Add(test.Competency10);
|
| 427 |
-
if (test.NumCompetencies >= 11) Competencies.Add(test.Competency11);
|
| 428 |
-
if (test.NumCompetencies >= 12) Competencies.Add(test.Competency12);
|
| 429 |
-
if (test.NumCompetencies >= 13) Competencies.Add(test.Competency13);
|
| 430 |
-
if (test.NumCompetencies >= 14) Competencies.Add(test.Competency14);
|
| 431 |
-
if (test.NumCompetencies >= 15) Competencies.Add(test.Competency15);
|
| 432 |
|
| 433 |
var trainees = from x in db.Trainee
|
| 434 |
join y in db.Department on x.DepartmentId equals y.Id
|
|
@@ -491,23 +461,15 @@ public class ReportsController : ControllerBase
|
|
| 491 |
var test = db.Test.Find(train.TestId);
|
| 492 |
if (test == null) return NotFound();
|
| 493 |
|
| 494 |
-
List<string> Competencies = new List<string>();
|
| 495 |
|
| 496 |
-
|
| 497 |
-
|
| 498 |
-
|
| 499 |
-
|
| 500 |
-
|
| 501 |
-
|
| 502 |
-
|
| 503 |
-
if (test.NumCompetencies >= 8) Competencies.Add(test.Competency8);
|
| 504 |
-
if (test.NumCompetencies >= 9) Competencies.Add(test.Competency9);
|
| 505 |
-
if (test.NumCompetencies >= 10) Competencies.Add(test.Competency10);
|
| 506 |
-
if (test.NumCompetencies >= 11) Competencies.Add(test.Competency11);
|
| 507 |
-
if (test.NumCompetencies >= 12) Competencies.Add(test.Competency12);
|
| 508 |
-
if (test.NumCompetencies >= 13) Competencies.Add(test.Competency13);
|
| 509 |
-
if (test.NumCompetencies >= 14) Competencies.Add(test.Competency14);
|
| 510 |
-
if (test.NumCompetencies >= 15) Competencies.Add(test.Competency15);
|
| 511 |
|
| 512 |
var trainees = from x in db.Trainee
|
| 513 |
join y in db.Department on x.DepartmentId equals y.Id
|
|
@@ -570,23 +532,15 @@ public class ReportsController : ControllerBase
|
|
| 570 |
var test = db.Test.Find(train.TestId);
|
| 571 |
if (test == null) return NotFound();
|
| 572 |
|
| 573 |
-
List<string> Competencies = new List<string>();
|
| 574 |
|
| 575 |
-
|
| 576 |
-
|
| 577 |
-
|
| 578 |
-
|
| 579 |
-
|
| 580 |
-
|
| 581 |
-
|
| 582 |
-
if (test.NumCompetencies >= 8) Competencies.Add(test.Competency8);
|
| 583 |
-
if (test.NumCompetencies >= 9) Competencies.Add(test.Competency9);
|
| 584 |
-
if (test.NumCompetencies >= 10) Competencies.Add(test.Competency10);
|
| 585 |
-
if (test.NumCompetencies >= 11) Competencies.Add(test.Competency11);
|
| 586 |
-
if (test.NumCompetencies >= 12) Competencies.Add(test.Competency12);
|
| 587 |
-
if (test.NumCompetencies >= 13) Competencies.Add(test.Competency13);
|
| 588 |
-
if (test.NumCompetencies >= 14) Competencies.Add(test.Competency14);
|
| 589 |
-
if (test.NumCompetencies >= 15) Competencies.Add(test.Competency15);
|
| 590 |
|
| 591 |
var trainees = from x in db.Trainee
|
| 592 |
join y in db.Department on x.DepartmentId equals y.Id
|
|
|
|
| 141 |
var test = db.Test.Find(train.TestId);
|
| 142 |
if (test == null) return NotFound();
|
| 143 |
|
| 144 |
+
List<string> Competencies = new List<string>(test.NumCompetencies);
|
| 145 |
|
| 146 |
+
for (int i = 0; i < test.NumCompetencies; i++)
|
| 147 |
+
{
|
| 148 |
+
var prop = test.GetType().GetProperty($"Competency{i + 1}");
|
| 149 |
+
string value = prop?.GetValue(test) as string ?? "";
|
| 150 |
+
|
| 151 |
+
Competencies.Add(value);
|
| 152 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 153 |
|
| 154 |
var trainees = from x in db.Trainee
|
| 155 |
join y in db.Department on x.DepartmentId equals y.Id
|
|
|
|
| 229 |
var test = db.Test.Find(train.TestId);
|
| 230 |
if (test == null) return NotFound();
|
| 231 |
|
| 232 |
+
List<string> Competencies = new List<string>(test.NumCompetencies);
|
| 233 |
|
| 234 |
+
for (int i = 0; i < test.NumCompetencies; i++)
|
| 235 |
+
{
|
| 236 |
+
var prop = test.GetType().GetProperty($"Competency{i + 1}");
|
| 237 |
+
string value = prop?.GetValue(test) as string ?? "";
|
| 238 |
+
|
| 239 |
+
Competencies.Add(value);
|
| 240 |
+
}
|
| 241 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 242 |
|
| 243 |
var trainees = from x in db.Trainee
|
| 244 |
join y in db.Department on x.DepartmentId equals y.Id
|
|
|
|
| 318 |
var test = db.Test.Find(train.TestId);
|
| 319 |
if (test == null) return NotFound();
|
| 320 |
|
| 321 |
+
List<string> Competencies = new List<string>(test.NumCompetencies);
|
| 322 |
|
| 323 |
+
for (int i = 0; i < test.NumCompetencies; i++)
|
| 324 |
+
{
|
| 325 |
+
var prop = test.GetType().GetProperty($"Competency{i + 1}");
|
| 326 |
+
string value = prop?.GetValue(test) as string ?? "";
|
| 327 |
+
|
| 328 |
+
Competencies.Add(value);
|
| 329 |
+
}
|
| 330 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 331 |
|
| 332 |
var trainees = from x in db.Trainee
|
| 333 |
join y in db.Department on x.DepartmentId equals y.Id
|
|
|
|
| 390 |
var test = db.Test.Find(train.TestId);
|
| 391 |
if (test == null) return NotFound();
|
| 392 |
|
| 393 |
+
List<string> Competencies = new List<string>(test.NumCompetencies);
|
| 394 |
|
| 395 |
+
for (int i = 0; i < test.NumCompetencies; i++)
|
| 396 |
+
{
|
| 397 |
+
var prop = test.GetType().GetProperty($"Competency{i + 1}");
|
| 398 |
+
string value = prop?.GetValue(test) as string ?? "";
|
| 399 |
+
|
| 400 |
+
Competencies.Add(value);
|
| 401 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 402 |
|
| 403 |
var trainees = from x in db.Trainee
|
| 404 |
join y in db.Department on x.DepartmentId equals y.Id
|
|
|
|
| 461 |
var test = db.Test.Find(train.TestId);
|
| 462 |
if (test == null) return NotFound();
|
| 463 |
|
| 464 |
+
List<string> Competencies = new List<string>(test.NumCompetencies);
|
| 465 |
|
| 466 |
+
for (int i = 0; i < test.NumCompetencies; i++)
|
| 467 |
+
{
|
| 468 |
+
var prop = test.GetType().GetProperty($"Competency{i + 1}");
|
| 469 |
+
string value = prop?.GetValue(test) as string ?? "";
|
| 470 |
+
|
| 471 |
+
Competencies.Add(value);
|
| 472 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 473 |
|
| 474 |
var trainees = from x in db.Trainee
|
| 475 |
join y in db.Department on x.DepartmentId equals y.Id
|
|
|
|
| 532 |
var test = db.Test.Find(train.TestId);
|
| 533 |
if (test == null) return NotFound();
|
| 534 |
|
| 535 |
+
List<string> Competencies = new List<string>(test.NumCompetencies);
|
| 536 |
|
| 537 |
+
for (int i = 0; i < test.NumCompetencies; i++)
|
| 538 |
+
{
|
| 539 |
+
var prop = test.GetType().GetProperty($"Competency{i + 1}");
|
| 540 |
+
string value = prop?.GetValue(test) as string ?? "";
|
| 541 |
+
|
| 542 |
+
Competencies.Add(value);
|
| 543 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 544 |
|
| 545 |
var trainees = from x in db.Trainee
|
| 546 |
join y in db.Department on x.DepartmentId equals y.Id
|
|
@@ -36,53 +36,24 @@ public class TestsController : ControllerBase
|
|
| 36 |
t.NumCompetencies = p.NumCompetencies;
|
| 37 |
t.MinSources = p.MinSources;
|
| 38 |
|
| 39 |
-
|
| 40 |
-
|
| 41 |
-
|
| 42 |
-
|
| 43 |
-
|
| 44 |
-
|
| 45 |
-
|
| 46 |
-
|
| 47 |
-
|
| 48 |
-
|
| 49 |
-
|
| 50 |
-
|
| 51 |
-
|
| 52 |
-
|
| 53 |
-
|
| 54 |
-
|
| 55 |
-
|
| 56 |
-
|
| 57 |
-
t.Threshold3 = p.Thresholds[2];
|
| 58 |
-
t.Threshold4 = (p.NumCompetencies >= 4 ? p.Thresholds[3] : null);
|
| 59 |
-
t.Threshold5 = (p.NumCompetencies >= 5 ? p.Thresholds[4] : null);
|
| 60 |
-
t.Threshold6 = (p.NumCompetencies >= 6 ? p.Thresholds[5] : null);
|
| 61 |
-
t.Threshold7 = (p.NumCompetencies >= 7 ? p.Thresholds[6] : null);
|
| 62 |
-
t.Threshold8 = (p.NumCompetencies >= 8 ? p.Thresholds[7] : null);
|
| 63 |
-
t.Threshold9 = (p.NumCompetencies >= 9 ? p.Thresholds[8] : null);
|
| 64 |
-
t.Threshold10 = (p.NumCompetencies >= 10 ? p.Thresholds[9] : null);
|
| 65 |
-
t.Threshold11 = (p.NumCompetencies >= 11 ? p.Thresholds[10] : null);
|
| 66 |
-
t.Threshold12 = (p.NumCompetencies >= 12 ? p.Thresholds[11] : null);
|
| 67 |
-
t.Threshold13 = (p.NumCompetencies >= 13 ? p.Thresholds[12] : null);
|
| 68 |
-
t.Threshold14 = (p.NumCompetencies >= 14 ? p.Thresholds[13] : null);
|
| 69 |
-
t.Threshold15 = (p.NumCompetencies >= 15 ? p.Thresholds[14] : null);
|
| 70 |
-
|
| 71 |
-
t.Recommendation1 = p.Recommendations[0];
|
| 72 |
-
t.Recommendation2 = p.Recommendations[1];
|
| 73 |
-
t.Recommendation3 = p.Recommendations[2];
|
| 74 |
-
t.Recommendation4 = (p.NumCompetencies >= 4 ? p.Recommendations[3] : null);
|
| 75 |
-
t.Recommendation5 = (p.NumCompetencies >= 5 ? p.Recommendations[4] : null);
|
| 76 |
-
t.Recommendation6 = (p.NumCompetencies >= 6 ? p.Recommendations[5] : null);
|
| 77 |
-
t.Recommendation7 = (p.NumCompetencies >= 7 ? p.Recommendations[6] : null);
|
| 78 |
-
t.Recommendation8 = (p.NumCompetencies >= 8 ? p.Recommendations[7] : null);
|
| 79 |
-
t.Recommendation9 = (p.NumCompetencies >= 9 ? p.Recommendations[8] : null);
|
| 80 |
-
t.Recommendation10 = (p.NumCompetencies >= 10 ? p.Recommendations[9] : null);
|
| 81 |
-
t.Recommendation11 = (p.NumCompetencies >= 11 ? p.Recommendations[10] : null);
|
| 82 |
-
t.Recommendation12 = (p.NumCompetencies >= 12 ? p.Recommendations[11] : null);
|
| 83 |
-
t.Recommendation13 = (p.NumCompetencies >= 13 ? p.Recommendations[12] : null);
|
| 84 |
-
t.Recommendation14 = (p.NumCompetencies >= 14 ? p.Recommendations[13] : null);
|
| 85 |
-
t.Recommendation15 = (p.NumCompetencies >= 15 ? p.Recommendations[14] : null);
|
| 86 |
|
| 87 |
t.UserId = Convert.ToUInt32(User.Identity.Name);
|
| 88 |
t.CreateDate = DateTime.Now;
|
|
@@ -223,7 +194,7 @@ public class TestsController : ControllerBase
|
|
| 223 |
x.Competency1, x.Competency2, x.Competency3, x.Competency4, x.Competency5,
|
| 224 |
x.Competency6, x.Competency7, x.Competency8, x.Competency9, x.Competency10,
|
| 225 |
x.Competency11, x.Competency12, x.Competency13, x.Competency14, x.Competency15),
|
| 226 |
-
Threholds = Program.
|
| 227 |
x.Threshold1, x.Threshold2, x.Threshold3, x.Threshold4, x.Threshold5,
|
| 228 |
x.Threshold6, x.Threshold7, x.Threshold8, x.Threshold9, x.Threshold10,
|
| 229 |
x.Threshold11, x.Threshold12, x.Threshold13, x.Threshold14, x.Threshold15),
|
|
@@ -251,22 +222,15 @@ public class TestsController : ControllerBase
|
|
| 251 |
var test = db.Test.Find(Id);
|
| 252 |
if (test == null) return NotFound();
|
| 253 |
|
| 254 |
-
List<string> Competencies = new List<string>();
|
| 255 |
-
|
| 256 |
-
|
| 257 |
-
|
| 258 |
-
|
| 259 |
-
|
| 260 |
-
|
| 261 |
-
|
| 262 |
-
|
| 263 |
-
if (test.NumCompetencies >= 9) Competencies.Add(test.Competency9);
|
| 264 |
-
if (test.NumCompetencies >= 10) Competencies.Add(test.Competency10);
|
| 265 |
-
if (test.NumCompetencies >= 11) Competencies.Add(test.Competency11);
|
| 266 |
-
if (test.NumCompetencies >= 12) Competencies.Add(test.Competency12);
|
| 267 |
-
if (test.NumCompetencies >= 13) Competencies.Add(test.Competency13);
|
| 268 |
-
if (test.NumCompetencies >= 14) Competencies.Add(test.Competency14);
|
| 269 |
-
if (test.NumCompetencies >= 15) Competencies.Add(test.Competency15);
|
| 270 |
|
| 271 |
var items = from x in db.TestItem
|
| 272 |
join y in db.TestCategory on x.TestCategoryId equals y.Id
|
|
@@ -318,7 +282,7 @@ public class TestsController : ControllerBase
|
|
| 318 |
x.Competency1, x.Competency2, x.Competency3, x.Competency4, x.Competency5,
|
| 319 |
x.Competency6, x.Competency7, x.Competency8, x.Competency9, x.Competency10,
|
| 320 |
x.Competency11, x.Competency12, x.Competency13, x.Competency14, x.Competency15),
|
| 321 |
-
Threholds = Program.
|
| 322 |
x.Threshold1, x.Threshold2, x.Threshold3, x.Threshold4, x.Threshold5,
|
| 323 |
x.Threshold6, x.Threshold7, x.Threshold8, x.Threshold9, x.Threshold10,
|
| 324 |
x.Threshold11, x.Threshold12, x.Threshold13, x.Threshold14, x.Threshold15),
|
|
@@ -346,22 +310,15 @@ public class TestsController : ControllerBase
|
|
| 346 |
var test = db.Test.Find(Id1);
|
| 347 |
if (test == null) return NotFound();
|
| 348 |
|
| 349 |
-
List<string> Competencies = new List<string>();
|
| 350 |
-
|
| 351 |
-
|
| 352 |
-
|
| 353 |
-
|
| 354 |
-
|
| 355 |
-
|
| 356 |
-
|
| 357 |
-
|
| 358 |
-
if (test.NumCompetencies >= 9) Competencies.Add(test.Competency9);
|
| 359 |
-
if (test.NumCompetencies >= 10) Competencies.Add(test.Competency10);
|
| 360 |
-
if (test.NumCompetencies >= 11) Competencies.Add(test.Competency11);
|
| 361 |
-
if (test.NumCompetencies >= 12) Competencies.Add(test.Competency12);
|
| 362 |
-
if (test.NumCompetencies >= 13) Competencies.Add(test.Competency13);
|
| 363 |
-
if (test.NumCompetencies >= 14) Competencies.Add(test.Competency14);
|
| 364 |
-
if (test.NumCompetencies >= 15) Competencies.Add(test.Competency15);
|
| 365 |
|
| 366 |
var item = (from x in db.TestItem
|
| 367 |
join y in db.TestCategory on x.TestCategoryId equals y.Id
|
|
@@ -414,53 +371,24 @@ public class TestsController : ControllerBase
|
|
| 414 |
t.NumCompetencies = p.NumCompetencies; // ???????????????????????????????????????????????????????????? ????????????????????????????????????????????????????????? test item
|
| 415 |
t.MinSources = p.MinSources;
|
| 416 |
|
| 417 |
-
|
| 418 |
-
|
| 419 |
-
|
| 420 |
-
|
| 421 |
-
|
| 422 |
-
|
| 423 |
-
|
| 424 |
-
|
| 425 |
-
|
| 426 |
-
|
| 427 |
-
|
| 428 |
-
|
| 429 |
-
|
| 430 |
-
|
| 431 |
-
|
| 432 |
-
|
| 433 |
-
|
| 434 |
-
|
| 435 |
-
t.Threshold3 = p.Thresholds[2];
|
| 436 |
-
t.Threshold4 = (p.NumCompetencies >= 4 ? p.Thresholds[3] : null);
|
| 437 |
-
t.Threshold5 = (p.NumCompetencies >= 5 ? p.Thresholds[4] : null);
|
| 438 |
-
t.Threshold6 = (p.NumCompetencies >= 6 ? p.Thresholds[5] : null);
|
| 439 |
-
t.Threshold7 = (p.NumCompetencies >= 7 ? p.Thresholds[6] : null);
|
| 440 |
-
t.Threshold8 = (p.NumCompetencies >= 8 ? p.Thresholds[7] : null);
|
| 441 |
-
t.Threshold9 = (p.NumCompetencies >= 9 ? p.Thresholds[8] : null);
|
| 442 |
-
t.Threshold10 = (p.NumCompetencies >= 10 ? p.Thresholds[9] : null);
|
| 443 |
-
t.Threshold11 = (p.NumCompetencies >= 11 ? p.Thresholds[10] : null);
|
| 444 |
-
t.Threshold12 = (p.NumCompetencies >= 12 ? p.Thresholds[11] : null);
|
| 445 |
-
t.Threshold13 = (p.NumCompetencies >= 13 ? p.Thresholds[12] : null);
|
| 446 |
-
t.Threshold14 = (p.NumCompetencies >= 14 ? p.Thresholds[13] : null);
|
| 447 |
-
t.Threshold15 = (p.NumCompetencies >= 15 ? p.Thresholds[14] : null);
|
| 448 |
-
|
| 449 |
-
t.Recommendation1 = p.Recommendations[0];
|
| 450 |
-
t.Recommendation2 = p.Recommendations[1];
|
| 451 |
-
t.Recommendation3 = p.Recommendations[2];
|
| 452 |
-
t.Recommendation4 = (p.NumCompetencies >= 4 ? p.Recommendations[3] : null);
|
| 453 |
-
t.Recommendation5 = (p.NumCompetencies >= 5 ? p.Recommendations[4] : null);
|
| 454 |
-
t.Recommendation6 = (p.NumCompetencies >= 6 ? p.Recommendations[5] : null);
|
| 455 |
-
t.Recommendation7 = (p.NumCompetencies >= 7 ? p.Recommendations[6] : null);
|
| 456 |
-
t.Recommendation8 = (p.NumCompetencies >= 8 ? p.Recommendations[7] : null);
|
| 457 |
-
t.Recommendation9 = (p.NumCompetencies >= 9 ? p.Recommendations[8] : null);
|
| 458 |
-
t.Recommendation10 = (p.NumCompetencies >= 10 ? p.Recommendations[9] : null);
|
| 459 |
-
t.Recommendation11 = (p.NumCompetencies >= 11 ? p.Recommendations[10] : null);
|
| 460 |
-
t.Recommendation12 = (p.NumCompetencies >= 12 ? p.Recommendations[11] : null);
|
| 461 |
-
t.Recommendation13 = (p.NumCompetencies >= 13 ? p.Recommendations[12] : null);
|
| 462 |
-
t.Recommendation14 = (p.NumCompetencies >= 14 ? p.Recommendations[13] : null);
|
| 463 |
-
t.Recommendation15 = (p.NumCompetencies >= 15 ? p.Recommendations[14] : null);
|
| 464 |
|
| 465 |
db.SaveChanges();
|
| 466 |
|
|
|
|
| 36 |
t.NumCompetencies = p.NumCompetencies;
|
| 37 |
t.MinSources = p.MinSources;
|
| 38 |
|
| 39 |
+
for (int i = 0; i < p.NumCompetencies; i++)
|
| 40 |
+
{
|
| 41 |
+
// Competency
|
| 42 |
+
t.GetType()
|
| 43 |
+
.GetProperty($"Competency{i + 1}")
|
| 44 |
+
?.SetValue(t, p.Competencies.Length > i ? p.Competencies[i] : null);
|
| 45 |
+
|
| 46 |
+
// Threshold
|
| 47 |
+
t.GetType()
|
| 48 |
+
.GetProperty($"Threshold{i + 1}")
|
| 49 |
+
?.SetValue(t, p.Thresholds.Length > i ? p.Thresholds[i] : null);
|
| 50 |
+
|
| 51 |
+
// Recommendation
|
| 52 |
+
t.GetType()
|
| 53 |
+
.GetProperty($"Recommendation{i + 1}")
|
| 54 |
+
?.SetValue(t, p.Recommendations.Length > i ? p.Recommendations[i] : null);
|
| 55 |
+
}
|
| 56 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 57 |
|
| 58 |
t.UserId = Convert.ToUInt32(User.Identity.Name);
|
| 59 |
t.CreateDate = DateTime.Now;
|
|
|
|
| 194 |
x.Competency1, x.Competency2, x.Competency3, x.Competency4, x.Competency5,
|
| 195 |
x.Competency6, x.Competency7, x.Competency8, x.Competency9, x.Competency10,
|
| 196 |
x.Competency11, x.Competency12, x.Competency13, x.Competency14, x.Competency15),
|
| 197 |
+
Threholds = Program.ListThresholds(x.NumCompetencies,
|
| 198 |
x.Threshold1, x.Threshold2, x.Threshold3, x.Threshold4, x.Threshold5,
|
| 199 |
x.Threshold6, x.Threshold7, x.Threshold8, x.Threshold9, x.Threshold10,
|
| 200 |
x.Threshold11, x.Threshold12, x.Threshold13, x.Threshold14, x.Threshold15),
|
|
|
|
| 222 |
var test = db.Test.Find(Id);
|
| 223 |
if (test == null) return NotFound();
|
| 224 |
|
| 225 |
+
List<string> Competencies = new List<string>(test.NumCompetencies);
|
| 226 |
+
|
| 227 |
+
for (int i = 0; i < test.NumCompetencies; i++)
|
| 228 |
+
{
|
| 229 |
+
var prop = test.GetType().GetProperty($"Competency{i + 1}");
|
| 230 |
+
string value = prop?.GetValue(test) as string ?? "";
|
| 231 |
+
|
| 232 |
+
Competencies.Add(value);
|
| 233 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 234 |
|
| 235 |
var items = from x in db.TestItem
|
| 236 |
join y in db.TestCategory on x.TestCategoryId equals y.Id
|
|
|
|
| 282 |
x.Competency1, x.Competency2, x.Competency3, x.Competency4, x.Competency5,
|
| 283 |
x.Competency6, x.Competency7, x.Competency8, x.Competency9, x.Competency10,
|
| 284 |
x.Competency11, x.Competency12, x.Competency13, x.Competency14, x.Competency15),
|
| 285 |
+
Threholds = Program.ListThresholds(x.NumCompetencies,
|
| 286 |
x.Threshold1, x.Threshold2, x.Threshold3, x.Threshold4, x.Threshold5,
|
| 287 |
x.Threshold6, x.Threshold7, x.Threshold8, x.Threshold9, x.Threshold10,
|
| 288 |
x.Threshold11, x.Threshold12, x.Threshold13, x.Threshold14, x.Threshold15),
|
|
|
|
| 310 |
var test = db.Test.Find(Id1);
|
| 311 |
if (test == null) return NotFound();
|
| 312 |
|
| 313 |
+
List<string> Competencies = new List<string>(test.NumCompetencies);
|
| 314 |
+
|
| 315 |
+
for (int i = 0; i < test.NumCompetencies; i++)
|
| 316 |
+
{
|
| 317 |
+
var prop = test.GetType().GetProperty($"Competency{i + 1}");
|
| 318 |
+
string value = prop?.GetValue(test) as string ?? "";
|
| 319 |
+
|
| 320 |
+
Competencies.Add(value);
|
| 321 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 322 |
|
| 323 |
var item = (from x in db.TestItem
|
| 324 |
join y in db.TestCategory on x.TestCategoryId equals y.Id
|
|
|
|
| 371 |
t.NumCompetencies = p.NumCompetencies; // ???????????????????????????????????????????????????????????? ????????????????????????????????????????????????????????? test item
|
| 372 |
t.MinSources = p.MinSources;
|
| 373 |
|
| 374 |
+
for (int i = 0; i < p.NumCompetencies; i++)
|
| 375 |
+
{
|
| 376 |
+
// Competency
|
| 377 |
+
t.GetType()
|
| 378 |
+
.GetProperty($"Competency{i + 1}")
|
| 379 |
+
?.SetValue(t, p.Competencies.Length > i ? p.Competencies[i] : null);
|
| 380 |
+
|
| 381 |
+
// Threshold
|
| 382 |
+
t.GetType()
|
| 383 |
+
.GetProperty($"Threshold{i + 1}")
|
| 384 |
+
?.SetValue(t, p.Thresholds.Length > i ? p.Thresholds[i] : null);
|
| 385 |
+
|
| 386 |
+
// Recommendation
|
| 387 |
+
t.GetType()
|
| 388 |
+
.GetProperty($"Recommendation{i + 1}")
|
| 389 |
+
?.SetValue(t, p.Recommendations.Length > i ? p.Recommendations[i] : null);
|
| 390 |
+
}
|
| 391 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 392 |
|
| 393 |
db.SaveChanges();
|
| 394 |
|
|
@@ -183,176 +183,116 @@ public class TraineesController : ControllerBase
|
|
| 183 |
|
| 184 |
if (p.Answers.Count != items.Count()) return StatusCode(403, new { mesg = "???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????" });
|
| 185 |
|
| 186 |
-
if (isPreTest)
|
| 187 |
-
|
| 188 |
string answers = "";
|
| 189 |
-
decimal score1 = 0.0m; // ??????????????????????????????????????????????????????????????? 1
|
| 190 |
-
decimal score2 = 0.0m;
|
| 191 |
-
decimal score3 = 0.0m;
|
| 192 |
-
decimal? score4 = (train.NumCompetencies >= 4 ? 0.0m : null);
|
| 193 |
-
decimal? score5 = (train.NumCompetencies >= 5 ? 0.0m : null);
|
| 194 |
-
decimal? score6 = (train.NumCompetencies >= 6 ? 0.0m : null);
|
| 195 |
-
decimal? score7 = (train.NumCompetencies >= 7 ? 0.0m : null);
|
| 196 |
-
decimal? score8 = (train.NumCompetencies >= 8 ? 0.0m : null);
|
| 197 |
-
decimal? score9 = (train.NumCompetencies >= 9 ? 0.0m : null);
|
| 198 |
-
decimal? score10 = (train.NumCompetencies >= 10 ? 0.0m : null);
|
| 199 |
-
decimal? score11 = (train.NumCompetencies >= 11 ? 0.0m : null);
|
| 200 |
-
decimal? score12 = (train.NumCompetencies >= 12 ? 0.0m : null);
|
| 201 |
-
decimal? score13 = (train.NumCompetencies >= 13 ? 0.0m : null);
|
| 202 |
-
decimal? score14 = (train.NumCompetencies >= 14 ? 0.0m : null);
|
| 203 |
-
decimal? score15 = (train.NumCompetencies >= 15 ? 0.0m : null);
|
| 204 |
decimal total = 0.0m;
|
| 205 |
|
| 206 |
-
|
| 207 |
-
for (int i = 0; i < p.Answers.Count; i++) {
|
| 208 |
|
| 209 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 210 |
answers += (i == 0 ? ans : "<ans>" + ans);
|
| 211 |
|
| 212 |
if (items[i].TestCategoryId == 5) continue;
|
| 213 |
|
| 214 |
decimal score = 0.0m;
|
| 215 |
-
|
| 216 |
-
|
| 217 |
-
if (
|
| 218 |
-
|
| 219 |
-
|
| 220 |
-
|
| 221 |
-
if (
|
| 222 |
-
|
| 223 |
-
|
| 224 |
-
if (p.Answers[i] == "10") score = items[i].Score10 ?? 0.0m;
|
| 225 |
-
|
| 226 |
-
if (items[i].CompetencyNo == 1) score1 += score; // decimal + null ????????? null
|
| 227 |
-
if (items[i].CompetencyNo == 2) score2 += score;
|
| 228 |
-
if (items[i].CompetencyNo == 3) score3 += score;
|
| 229 |
-
if (items[i].CompetencyNo == 4) score4 += score;
|
| 230 |
-
if (items[i].CompetencyNo == 5) score5 += score;
|
| 231 |
-
if (items[i].CompetencyNo == 6) score6 += score;
|
| 232 |
-
if (items[i].CompetencyNo == 7) score7 += score;
|
| 233 |
-
if (items[i].CompetencyNo == 8) score8 += score;
|
| 234 |
-
if (items[i].CompetencyNo == 9) score9 += score;
|
| 235 |
-
if (items[i].CompetencyNo == 10) score10 += score;
|
| 236 |
-
if (items[i].CompetencyNo == 11) score11 += score;
|
| 237 |
-
if (items[i].CompetencyNo == 12) score12 += score;
|
| 238 |
-
if (items[i].CompetencyNo == 13) score13 += score;
|
| 239 |
-
if (items[i].CompetencyNo == 14) score14 += score;
|
| 240 |
-
if (items[i].CompetencyNo == 15) score15 += score;
|
| 241 |
total += score;
|
| 242 |
-
}
|
| 243 |
-
|
| 244 |
-
CompetencyAssessmentModels.PreTestScore pre = new CompetencyAssessmentModels.PreTestScore
|
| 245 |
-
|
| 246 |
-
|
| 247 |
-
|
| 248 |
-
|
| 249 |
-
|
| 250 |
-
|
| 251 |
-
|
| 252 |
-
|
| 253 |
-
|
| 254 |
-
|
| 255 |
-
|
| 256 |
-
|
| 257 |
-
|
| 258 |
-
|
| 259 |
-
|
| 260 |
-
|
| 261 |
-
pre.Score12 = score12;
|
| 262 |
-
pre.Score13 = score13;
|
| 263 |
-
pre.Score14 = score14;
|
| 264 |
-
pre.Score15 = score15;
|
| 265 |
-
pre.TotalScore = total;
|
| 266 |
-
pre.CreateDate = DateTime.Now;
|
| 267 |
|
| 268 |
db.PreTestScore.Add(pre);
|
| 269 |
db.SaveChanges();
|
| 270 |
}
|
| 271 |
|
| 272 |
-
if (isPostTest) {
|
| 273 |
|
|
|
|
|
|
|
| 274 |
string answers = "";
|
| 275 |
-
decimal score1 = 0.0m; // ??????????????????????????????????????????????????????????????? 1
|
| 276 |
-
decimal score2 = 0.0m;
|
| 277 |
-
decimal score3 = 0.0m;
|
| 278 |
-
decimal? score4 = (train.NumCompetencies >= 4 ? 0.0m : null);
|
| 279 |
-
decimal? score5 = (train.NumCompetencies >= 5 ? 0.0m : null);
|
| 280 |
-
decimal? score6 = (train.NumCompetencies >= 6 ? 0.0m : null);
|
| 281 |
-
decimal? score7 = (train.NumCompetencies >= 7 ? 0.0m : null);
|
| 282 |
-
decimal? score8 = (train.NumCompetencies >= 8 ? 0.0m : null);
|
| 283 |
-
decimal? score9 = (train.NumCompetencies >= 9 ? 0.0m : null);
|
| 284 |
-
decimal? score10 = (train.NumCompetencies >= 10 ? 0.0m : null);
|
| 285 |
-
decimal? score11 = (train.NumCompetencies >= 11 ? 0.0m : null);
|
| 286 |
-
decimal? score12 = (train.NumCompetencies >= 12 ? 0.0m : null);
|
| 287 |
-
decimal? score13 = (train.NumCompetencies >= 13 ? 0.0m : null);
|
| 288 |
-
decimal? score14 = (train.NumCompetencies >= 14 ? 0.0m : null);
|
| 289 |
-
decimal? score15 = (train.NumCompetencies >= 15 ? 0.0m : null);
|
| 290 |
decimal total = 0.0m;
|
| 291 |
|
| 292 |
-
|
| 293 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 294 |
|
| 295 |
-
|
|
|
|
|
|
|
|
|
|
| 296 |
answers += (i == 0 ? ans : "<ans>" + ans);
|
| 297 |
|
| 298 |
if (items[i].TestCategoryId == 5) continue;
|
| 299 |
|
| 300 |
decimal score = 0.0m;
|
| 301 |
-
|
| 302 |
-
|
| 303 |
-
if (
|
| 304 |
-
|
| 305 |
-
|
| 306 |
-
|
| 307 |
-
if (
|
| 308 |
-
|
| 309 |
-
|
| 310 |
-
if (p.Answers[i] == "10") score = items[i].Score10 ?? 0.0m;
|
| 311 |
-
|
| 312 |
-
if (items[i].CompetencyNo == 1) score1 += score; // decimal + null ????????? null
|
| 313 |
-
if (items[i].CompetencyNo == 2) score2 += score;
|
| 314 |
-
if (items[i].CompetencyNo == 3) score3 += score;
|
| 315 |
-
if (items[i].CompetencyNo == 4) score4 += score;
|
| 316 |
-
if (items[i].CompetencyNo == 5) score5 += score;
|
| 317 |
-
if (items[i].CompetencyNo == 6) score6 += score;
|
| 318 |
-
if (items[i].CompetencyNo == 7) score7 += score;
|
| 319 |
-
if (items[i].CompetencyNo == 8) score8 += score;
|
| 320 |
-
if (items[i].CompetencyNo == 9) score9 += score;
|
| 321 |
-
if (items[i].CompetencyNo == 10) score10 += score;
|
| 322 |
-
if (items[i].CompetencyNo == 11) score11 += score;
|
| 323 |
-
if (items[i].CompetencyNo == 12) score12 += score;
|
| 324 |
-
if (items[i].CompetencyNo == 13) score13 += score;
|
| 325 |
-
if (items[i].CompetencyNo == 14) score14 += score;
|
| 326 |
-
if (items[i].CompetencyNo == 15) score15 += score;
|
| 327 |
total += score;
|
| 328 |
}
|
| 329 |
|
| 330 |
-
CompetencyAssessmentModels.PostTestScore post =
|
| 331 |
-
|
| 332 |
-
|
| 333 |
-
|
| 334 |
-
|
| 335 |
-
|
| 336 |
-
|
| 337 |
-
|
| 338 |
-
|
| 339 |
-
|
| 340 |
-
|
| 341 |
-
|
| 342 |
-
|
| 343 |
-
|
| 344 |
-
|
| 345 |
-
|
| 346 |
-
|
| 347 |
-
|
| 348 |
-
post.Score13 = score13;
|
| 349 |
-
post.Score14 = score14;
|
| 350 |
-
post.Score15 = score15;
|
| 351 |
-
post.TotalScore = total;
|
| 352 |
-
post.CreateDate = DateTime.Now;
|
| 353 |
|
| 354 |
db.PostTestScore.Add(post);
|
| 355 |
-
db.SaveChanges();
|
| 356 |
}
|
| 357 |
|
| 358 |
Program.Log("evaluator", db.Evaluator.Find(p.EvaluatorId).Evaluator1, p.Title, p.FirstName, p.LastName);
|
|
@@ -513,23 +453,15 @@ public class TraineesController : ControllerBase
|
|
| 513 |
if (!train.PreTestAnnounced) return StatusCode(403, new { mesg = "????????????????????????????????????????????????????????? pre-test" });
|
| 514 |
if (!Program.IsPreTestReported(TrainId, User.Identity.Name)) return StatusCode(403, "???????????????????????????????????????????????? ??????????????????????????????????????????????????????????????????????????????????????? " + test.MinSources.ToString() + " ??????????????? (?????????????????????????????????)");
|
| 515 |
|
| 516 |
-
List<string> Competencies = new List<string>();
|
| 517 |
|
| 518 |
-
|
| 519 |
-
|
| 520 |
-
|
| 521 |
-
|
| 522 |
-
|
| 523 |
-
|
| 524 |
-
|
| 525 |
-
if (test.NumCompetencies >= 8) Competencies.Add(test.Competency8);
|
| 526 |
-
if (test.NumCompetencies >= 9) Competencies.Add(test.Competency9);
|
| 527 |
-
if (test.NumCompetencies >= 10) Competencies.Add(test.Competency10);
|
| 528 |
-
if (test.NumCompetencies >= 11) Competencies.Add(test.Competency11);
|
| 529 |
-
if (test.NumCompetencies >= 12) Competencies.Add(test.Competency12);
|
| 530 |
-
if (test.NumCompetencies >= 13) Competencies.Add(test.Competency13);
|
| 531 |
-
if (test.NumCompetencies >= 14) Competencies.Add(test.Competency14);
|
| 532 |
-
if (test.NumCompetencies >= 15) Competencies.Add(test.Competency15);
|
| 533 |
|
| 534 |
List<double> Self = null;
|
| 535 |
List<double> Boss = null;
|
|
@@ -580,23 +512,15 @@ public class TraineesController : ControllerBase
|
|
| 580 |
if (!train.PostTestAnnounced) return StatusCode(403, new { mesg = "????????????????????????????????????????????????????????? post-test" });
|
| 581 |
if (!Program.IsPostTestReported(TrainId, User.Identity.Name)) return StatusCode(403, "???????????????????????????????????????????????? ??????????????????????????????????????????????????????????????????????????????????????? " + test.MinSources.ToString() + " ??????????????? (?????????????????????????????????)");
|
| 582 |
|
| 583 |
-
List<string> Competencies = new List<string>();
|
| 584 |
|
| 585 |
-
|
| 586 |
-
|
| 587 |
-
|
| 588 |
-
|
| 589 |
-
|
| 590 |
-
|
| 591 |
-
|
| 592 |
-
if (test.NumCompetencies >= 8) Competencies.Add(test.Competency8);
|
| 593 |
-
if (test.NumCompetencies >= 9) Competencies.Add(test.Competency9);
|
| 594 |
-
if (test.NumCompetencies >= 10) Competencies.Add(test.Competency10);
|
| 595 |
-
if (test.NumCompetencies >= 11) Competencies.Add(test.Competency11);
|
| 596 |
-
if (test.NumCompetencies >= 12) Competencies.Add(test.Competency12);
|
| 597 |
-
if (test.NumCompetencies >= 13) Competencies.Add(test.Competency13);
|
| 598 |
-
if (test.NumCompetencies >= 14) Competencies.Add(test.Competency14);
|
| 599 |
-
if (test.NumCompetencies >= 15) Competencies.Add(test.Competency15);
|
| 600 |
|
| 601 |
List<double> Self = null;
|
| 602 |
List<double> Boss = null;
|
|
@@ -647,23 +571,15 @@ public class TraineesController : ControllerBase
|
|
| 647 |
if (!train.PreTestAnnounced && !train.PostTestAnnounced) return StatusCode(403, new { mesg = "????????????????????????????????????????????????????????? pre/post-test" });
|
| 648 |
if (!Program.IsSelfReported(TrainId, User.Identity.Name)) return StatusCode(403, "????????????????????????????????????????????????");
|
| 649 |
|
| 650 |
-
List<string> Competencies = new List<string>();
|
| 651 |
|
| 652 |
-
|
| 653 |
-
|
| 654 |
-
|
| 655 |
-
|
| 656 |
-
|
| 657 |
-
|
| 658 |
-
|
| 659 |
-
if (test.NumCompetencies >= 8) Competencies.Add(test.Competency8);
|
| 660 |
-
if (test.NumCompetencies >= 9) Competencies.Add(test.Competency9);
|
| 661 |
-
if (test.NumCompetencies >= 10) Competencies.Add(test.Competency10);
|
| 662 |
-
if (test.NumCompetencies >= 11) Competencies.Add(test.Competency11);
|
| 663 |
-
if (test.NumCompetencies >= 12) Competencies.Add(test.Competency12);
|
| 664 |
-
if (test.NumCompetencies >= 13) Competencies.Add(test.Competency13);
|
| 665 |
-
if (test.NumCompetencies >= 14) Competencies.Add(test.Competency14);
|
| 666 |
-
if (test.NumCompetencies >= 15) Competencies.Add(test.Competency15);
|
| 667 |
|
| 668 |
List<double> PreTest = null;
|
| 669 |
List<double> PostTest = null;
|
|
@@ -706,23 +622,15 @@ public class TraineesController : ControllerBase
|
|
| 706 |
if (!train.PreTestAnnounced && !train.PostTestAnnounced) return StatusCode(403, new { mesg = "????????????????????????????????????????????????????????? pre/post-test" });
|
| 707 |
if (!Program.IsOthersReported(TrainId, User.Identity.Name)) return StatusCode(403, "?????????????????????????????????????????????????????????????????????????????????????????? " + test.MinSources.ToString() + " ??????????????? (?????????????????????????????????)");
|
| 708 |
|
| 709 |
-
List<string> Competencies = new List<string>();
|
| 710 |
|
| 711 |
-
|
| 712 |
-
|
| 713 |
-
|
| 714 |
-
|
| 715 |
-
|
| 716 |
-
|
| 717 |
-
|
| 718 |
-
if (test.NumCompetencies >= 8) Competencies.Add(test.Competency8);
|
| 719 |
-
if (test.NumCompetencies >= 9) Competencies.Add(test.Competency9);
|
| 720 |
-
if (test.NumCompetencies >= 10) Competencies.Add(test.Competency10);
|
| 721 |
-
if (test.NumCompetencies >= 11) Competencies.Add(test.Competency11);
|
| 722 |
-
if (test.NumCompetencies >= 12) Competencies.Add(test.Competency12);
|
| 723 |
-
if (test.NumCompetencies >= 13) Competencies.Add(test.Competency13);
|
| 724 |
-
if (test.NumCompetencies >= 14) Competencies.Add(test.Competency14);
|
| 725 |
-
if (test.NumCompetencies >= 15) Competencies.Add(test.Competency15);
|
| 726 |
|
| 727 |
List<double> PreTest1 = null, PreTest2 = null, PreTest3 = null;
|
| 728 |
List<double> PostTest1 = null, PostTest2 = null, PostTest3 = null;
|
|
@@ -933,22 +841,15 @@ public class TraineesController : ControllerBase
|
|
| 933 |
return StatusCode(403, "???????????????????????????????????????????????? ??????????????????????????????????????????????????????????????????????????????????????? " + test.MinSources.ToString() + " ??????????????? (?????????????????????????????????)");
|
| 934 |
}
|
| 935 |
|
| 936 |
-
string
|
| 937 |
-
|
| 938 |
-
|
| 939 |
-
|
| 940 |
-
|
| 941 |
-
|
| 942 |
-
|
| 943 |
-
|
| 944 |
-
|
| 945 |
-
if (test.NumCompetencies >= 9) competencies[8] = "9. " + test.Competency9;
|
| 946 |
-
if (test.NumCompetencies >= 10) competencies[9] = "10. " + test.Competency10;
|
| 947 |
-
if (test.NumCompetencies >= 11) competencies[10] = "11. " + test.Competency11;
|
| 948 |
-
if (test.NumCompetencies >= 12) competencies[11] = "12. " + test.Competency12;
|
| 949 |
-
if (test.NumCompetencies >= 13) competencies[12] = "13. " + test.Competency13;
|
| 950 |
-
if (test.NumCompetencies >= 14) competencies[13] = "14. " + test.Competency14;
|
| 951 |
-
if (test.NumCompetencies >= 15) competencies[14] = "15. " + test.Competency15;
|
| 952 |
|
| 953 |
List<double> Self1 = null, Self2 = null;
|
| 954 |
List<double> Boss1 = null, Boss2 = null;
|
|
@@ -1005,7 +906,7 @@ public class TraineesController : ControllerBase
|
|
| 1005 |
heading3 = test.Name,
|
| 1006 |
heading4 = trainee.TraineeId + " " + trainee.Title + trainee.FirstName + " " + trainee.LastName,
|
| 1007 |
heading5 = department.Department1 + " " + ministry.Ministry1,
|
| 1008 |
-
competencies =
|
| 1009 |
self1 = self1,
|
| 1010 |
self2 = self2,
|
| 1011 |
other1 = other1,
|
|
|
|
| 183 |
|
| 184 |
if (p.Answers.Count != items.Count()) return StatusCode(403, new { mesg = "???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????" });
|
| 185 |
|
| 186 |
+
if (isPreTest)
|
| 187 |
+
{
|
| 188 |
string answers = "";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 189 |
decimal total = 0.0m;
|
| 190 |
|
| 191 |
+
int maxCompetencies = Math.Min((int)train.NumCompetencies, 20);
|
|
|
|
| 192 |
|
| 193 |
+
// prepare score array
|
| 194 |
+
decimal?[] competencyScores = new decimal?[maxCompetencies];
|
| 195 |
+
for (int i = 0; i < maxCompetencies; i++)
|
| 196 |
+
competencyScores[i] = 0.0m;
|
| 197 |
+
|
| 198 |
+
// calculate scores
|
| 199 |
+
for (int i = 0; i < p.Answers.Count; i++)
|
| 200 |
+
{
|
| 201 |
+
string ans = string.IsNullOrEmpty(p.Answers[i]) ? "0" : p.Answers[i];
|
| 202 |
answers += (i == 0 ? ans : "<ans>" + ans);
|
| 203 |
|
| 204 |
if (items[i].TestCategoryId == 5) continue;
|
| 205 |
|
| 206 |
decimal score = 0.0m;
|
| 207 |
+
|
| 208 |
+
var scoreProp = items[i].GetType().GetProperty($"Score{ans}");
|
| 209 |
+
if (scoreProp != null)
|
| 210 |
+
score = (decimal?)scoreProp.GetValue(items[i]) ?? 0.0m;
|
| 211 |
+
|
| 212 |
+
int compIndex = items[i].CompetencyNo - 1;
|
| 213 |
+
if (compIndex >= 0 && compIndex < maxCompetencies)
|
| 214 |
+
competencyScores[compIndex] += score;
|
| 215 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 216 |
total += score;
|
| 217 |
+
}
|
| 218 |
+
|
| 219 |
+
CompetencyAssessmentModels.PreTestScore pre = new CompetencyAssessmentModels.PreTestScore
|
| 220 |
+
{
|
| 221 |
+
TraineeId = trainee.Id,
|
| 222 |
+
EvaluatorId = p.EvaluatorId,
|
| 223 |
+
EvaluatorName = p.Title + p.FirstName + " " + p.LastName,
|
| 224 |
+
Answers = answers,
|
| 225 |
+
TotalScore = total,
|
| 226 |
+
CreateDate = DateTime.Now
|
| 227 |
+
};
|
| 228 |
+
|
| 229 |
+
// assign Score1???Score20 dynamically
|
| 230 |
+
for (int i = 0; i < maxCompetencies; i++)
|
| 231 |
+
{
|
| 232 |
+
var prop = pre.GetType().GetProperty($"Score{i + 1}");
|
| 233 |
+
if (prop != null)
|
| 234 |
+
prop.SetValue(pre, competencyScores[i]);
|
| 235 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 236 |
|
| 237 |
db.PreTestScore.Add(pre);
|
| 238 |
db.SaveChanges();
|
| 239 |
}
|
| 240 |
|
|
|
|
| 241 |
|
| 242 |
+
if (isPostTest)
|
| 243 |
+
{
|
| 244 |
string answers = "";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 245 |
decimal total = 0.0m;
|
| 246 |
|
| 247 |
+
int maxCompetencies = Math.Min((int)train.NumCompetencies, 20);
|
| 248 |
+
|
| 249 |
+
// prepare score array
|
| 250 |
+
decimal?[] competencyScores = new decimal?[maxCompetencies];
|
| 251 |
+
for (int i = 0; i < maxCompetencies; i++)
|
| 252 |
+
competencyScores[i] = 0.0m;
|
| 253 |
|
| 254 |
+
// calculate scores (answers still 10)
|
| 255 |
+
for (int i = 0; i < p.Answers.Count; i++)
|
| 256 |
+
{
|
| 257 |
+
string ans = string.IsNullOrEmpty(p.Answers[i]) ? "0" : p.Answers[i];
|
| 258 |
answers += (i == 0 ? ans : "<ans>" + ans);
|
| 259 |
|
| 260 |
if (items[i].TestCategoryId == 5) continue;
|
| 261 |
|
| 262 |
decimal score = 0.0m;
|
| 263 |
+
|
| 264 |
+
var scoreProp = items[i].GetType().GetProperty($"Score{ans}");
|
| 265 |
+
if (scoreProp != null)
|
| 266 |
+
score = (decimal?)scoreProp.GetValue(items[i]) ?? 0.0m;
|
| 267 |
+
|
| 268 |
+
int compIndex = items[i].CompetencyNo - 1;
|
| 269 |
+
if (compIndex >= 0 && compIndex < maxCompetencies)
|
| 270 |
+
competencyScores[compIndex] += score;
|
| 271 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 272 |
total += score;
|
| 273 |
}
|
| 274 |
|
| 275 |
+
CompetencyAssessmentModels.PostTestScore post =
|
| 276 |
+
new CompetencyAssessmentModels.PostTestScore
|
| 277 |
+
{
|
| 278 |
+
TraineeId = trainee.Id,
|
| 279 |
+
EvaluatorId = p.EvaluatorId,
|
| 280 |
+
EvaluatorName = p.Title + p.FirstName + " " + p.LastName,
|
| 281 |
+
Answers = answers,
|
| 282 |
+
TotalScore = total,
|
| 283 |
+
CreateDate = DateTime.Now
|
| 284 |
+
};
|
| 285 |
+
|
| 286 |
+
// assign Score1???Score20 dynamically
|
| 287 |
+
for (int i = 0; i < maxCompetencies; i++)
|
| 288 |
+
{
|
| 289 |
+
var prop = post.GetType().GetProperty($"Score{i + 1}");
|
| 290 |
+
if (prop != null)
|
| 291 |
+
prop.SetValue(post, competencyScores[i]);
|
| 292 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 293 |
|
| 294 |
db.PostTestScore.Add(post);
|
| 295 |
+
db.SaveChanges();
|
| 296 |
}
|
| 297 |
|
| 298 |
Program.Log("evaluator", db.Evaluator.Find(p.EvaluatorId).Evaluator1, p.Title, p.FirstName, p.LastName);
|
|
|
|
| 453 |
if (!train.PreTestAnnounced) return StatusCode(403, new { mesg = "????????????????????????????????????????????????????????? pre-test" });
|
| 454 |
if (!Program.IsPreTestReported(TrainId, User.Identity.Name)) return StatusCode(403, "???????????????????????????????????????????????? ??????????????????????????????????????????????????????????????????????????????????????? " + test.MinSources.ToString() + " ??????????????? (?????????????????????????????????)");
|
| 455 |
|
| 456 |
+
List<string> Competencies = new List<string>(test.NumCompetencies);
|
| 457 |
|
| 458 |
+
for (int i = 0; i < test.NumCompetencies; i++)
|
| 459 |
+
{
|
| 460 |
+
var prop = test.GetType().GetProperty($"Competency{i + 1}");
|
| 461 |
+
string value = prop?.GetValue(test) as string ?? "";
|
| 462 |
+
|
| 463 |
+
Competencies.Add(value);
|
| 464 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 465 |
|
| 466 |
List<double> Self = null;
|
| 467 |
List<double> Boss = null;
|
|
|
|
| 512 |
if (!train.PostTestAnnounced) return StatusCode(403, new { mesg = "????????????????????????????????????????????????????????? post-test" });
|
| 513 |
if (!Program.IsPostTestReported(TrainId, User.Identity.Name)) return StatusCode(403, "???????????????????????????????????????????????? ??????????????????????????????????????????????????????????????????????????????????????? " + test.MinSources.ToString() + " ??????????????? (?????????????????????????????????)");
|
| 514 |
|
| 515 |
+
List<string> Competencies = new List<string>(test.NumCompetencies);
|
| 516 |
|
| 517 |
+
for (int i = 0; i < test.NumCompetencies; i++)
|
| 518 |
+
{
|
| 519 |
+
var prop = test.GetType().GetProperty($"Competency{i + 1}");
|
| 520 |
+
string value = prop?.GetValue(test) as string ?? "";
|
| 521 |
+
|
| 522 |
+
Competencies.Add(value);
|
| 523 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 524 |
|
| 525 |
List<double> Self = null;
|
| 526 |
List<double> Boss = null;
|
|
|
|
| 571 |
if (!train.PreTestAnnounced && !train.PostTestAnnounced) return StatusCode(403, new { mesg = "????????????????????????????????????????????????????????? pre/post-test" });
|
| 572 |
if (!Program.IsSelfReported(TrainId, User.Identity.Name)) return StatusCode(403, "????????????????????????????????????????????????");
|
| 573 |
|
| 574 |
+
List<string> Competencies = new List<string>(test.NumCompetencies);
|
| 575 |
|
| 576 |
+
for (int i = 0; i < test.NumCompetencies; i++)
|
| 577 |
+
{
|
| 578 |
+
var prop = test.GetType().GetProperty($"Competency{i + 1}");
|
| 579 |
+
string value = prop?.GetValue(test) as string ?? "";
|
| 580 |
+
|
| 581 |
+
Competencies.Add(value);
|
| 582 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 583 |
|
| 584 |
List<double> PreTest = null;
|
| 585 |
List<double> PostTest = null;
|
|
|
|
| 622 |
if (!train.PreTestAnnounced && !train.PostTestAnnounced) return StatusCode(403, new { mesg = "????????????????????????????????????????????????????????? pre/post-test" });
|
| 623 |
if (!Program.IsOthersReported(TrainId, User.Identity.Name)) return StatusCode(403, "?????????????????????????????????????????????????????????????????????????????????????????? " + test.MinSources.ToString() + " ??????????????? (?????????????????????????????????)");
|
| 624 |
|
| 625 |
+
List<string> Competencies = new List<string>(test.NumCompetencies);
|
| 626 |
|
| 627 |
+
for (int i = 0; i < test.NumCompetencies; i++)
|
| 628 |
+
{
|
| 629 |
+
var prop = test.GetType().GetProperty($"Competency{i + 1}");
|
| 630 |
+
string value = prop?.GetValue(test) as string ?? "";
|
| 631 |
+
|
| 632 |
+
Competencies.Add(value);
|
| 633 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 634 |
|
| 635 |
List<double> PreTest1 = null, PreTest2 = null, PreTest3 = null;
|
| 636 |
List<double> PostTest1 = null, PostTest2 = null, PostTest3 = null;
|
|
|
|
| 841 |
return StatusCode(403, "???????????????????????????????????????????????? ??????????????????????????????????????????????????????????????????????????????????????? " + test.MinSources.ToString() + " ??????????????? (?????????????????????????????????)");
|
| 842 |
}
|
| 843 |
|
| 844 |
+
List<string> Competencies = new List<string>(test.NumCompetencies);
|
| 845 |
+
|
| 846 |
+
for (int i = 0; i < test.NumCompetencies; i++)
|
| 847 |
+
{
|
| 848 |
+
var prop = test.GetType().GetProperty($"Competency{i + 1}");
|
| 849 |
+
string value = prop?.GetValue(test) as string ?? "";
|
| 850 |
+
|
| 851 |
+
Competencies.Add(value);
|
| 852 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 853 |
|
| 854 |
List<double> Self1 = null, Self2 = null;
|
| 855 |
List<double> Boss1 = null, Boss2 = null;
|
|
|
|
| 906 |
heading3 = test.Name,
|
| 907 |
heading4 = trainee.TraineeId + " " + trainee.Title + trainee.FirstName + " " + trainee.LastName,
|
| 908 |
heading5 = department.Department1 + " " + ministry.Ministry1,
|
| 909 |
+
competencies = Competencies,
|
| 910 |
self1 = self1,
|
| 911 |
self2 = self2,
|
| 912 |
other1 = other1,
|
|
@@ -342,10 +342,11 @@ public class TrainsController : ControllerBase
|
|
| 342 |
Evaluator = y.Evaluator1,
|
| 343 |
EvaluatorName = x.EvaluatorName,
|
| 344 |
Answers = Program.ListAnswers(x.Answers),
|
| 345 |
-
Scores = Program.
|
| 346 |
x.Score1, x.Score2, x.Score3, x.Score4, x.Score5,
|
| 347 |
x.Score6, x.Score7, x.Score8, x.Score9, x.Score10,
|
| 348 |
-
x.Score11, x.Score12, x.Score13, x.Score14, x.Score15
|
|
|
|
| 349 |
TotalScore = x.TotalScore.ToString("0.00"),
|
| 350 |
TotalPercent = (100.0m * x.TotalScore / FullScore).ToString("0.00") + "%",
|
| 351 |
CreateDate = x.CreateDate,
|
|
@@ -386,10 +387,11 @@ public class TrainsController : ControllerBase
|
|
| 386 |
Evaluator = y.Evaluator1,
|
| 387 |
EvaluatorName = x.EvaluatorName,
|
| 388 |
Answers = Program.ListAnswers(x.Answers),
|
| 389 |
-
Scores = Program.
|
| 390 |
x.Score1, x.Score2, x.Score3, x.Score4, x.Score5,
|
| 391 |
x.Score6, x.Score7, x.Score8, x.Score9, x.Score10,
|
| 392 |
-
x.Score11, x.Score12, x.Score13, x.Score14, x.Score15
|
|
|
|
| 393 |
TotalScore = x.TotalScore.ToString("0.00"),
|
| 394 |
TotalPercent = (100.0m * x.TotalScore / FullScore).ToString("0.00") + "%",
|
| 395 |
CreateDate = x.CreateDate,
|
|
@@ -514,10 +516,11 @@ public class TrainsController : ControllerBase
|
|
| 514 |
Evaluator = y.Evaluator1,
|
| 515 |
EvaluatorName = x.EvaluatorName,
|
| 516 |
Answers = Program.ListAnswers(x.Answers),
|
| 517 |
-
Scores = Program.
|
| 518 |
x.Score1, x.Score2, x.Score3, x.Score4, x.Score5,
|
| 519 |
x.Score6, x.Score7, x.Score8, x.Score9, x.Score10,
|
| 520 |
-
x.Score11, x.Score12, x.Score13, x.Score14, x.Score15
|
|
|
|
| 521 |
TotalScore = x.TotalScore.ToString("0.00"),
|
| 522 |
TotalPercent = (100.0m * x.TotalScore / FullScore).ToString("0.00") + "%",
|
| 523 |
CreateDate = x.CreateDate,
|
|
@@ -558,10 +561,11 @@ public class TrainsController : ControllerBase
|
|
| 558 |
Evaluator = y.Evaluator1,
|
| 559 |
EvaluatorName = x.EvaluatorName,
|
| 560 |
Answers = Program.ListAnswers(x.Answers),
|
| 561 |
-
Scores = Program.
|
| 562 |
x.Score1, x.Score2, x.Score3, x.Score4, x.Score5,
|
| 563 |
x.Score6, x.Score7, x.Score8, x.Score9, x.Score10,
|
| 564 |
-
x.Score11, x.Score12, x.Score13, x.Score14, x.Score15
|
|
|
|
| 565 |
TotalScore = x.TotalScore.ToString("0.00"),
|
| 566 |
TotalPercent = (100.0m * x.TotalScore / FullScore).ToString("0.00") + "%",
|
| 567 |
CreateDate = x.CreateDate,
|
|
|
|
| 342 |
Evaluator = y.Evaluator1,
|
| 343 |
EvaluatorName = x.EvaluatorName,
|
| 344 |
Answers = Program.ListAnswers(x.Answers),
|
| 345 |
+
Scores = Program.ListScoreStrings(test.NumCompetencies,
|
| 346 |
x.Score1, x.Score2, x.Score3, x.Score4, x.Score5,
|
| 347 |
x.Score6, x.Score7, x.Score8, x.Score9, x.Score10,
|
| 348 |
+
x.Score11, x.Score12, x.Score13, x.Score14, x.Score15,
|
| 349 |
+
x.Score16, x.Score17, x.Score18, x.Score19, x.Score20),
|
| 350 |
TotalScore = x.TotalScore.ToString("0.00"),
|
| 351 |
TotalPercent = (100.0m * x.TotalScore / FullScore).ToString("0.00") + "%",
|
| 352 |
CreateDate = x.CreateDate,
|
|
|
|
| 387 |
Evaluator = y.Evaluator1,
|
| 388 |
EvaluatorName = x.EvaluatorName,
|
| 389 |
Answers = Program.ListAnswers(x.Answers),
|
| 390 |
+
Scores = Program.ListScoreStrings(test.NumCompetencies,
|
| 391 |
x.Score1, x.Score2, x.Score3, x.Score4, x.Score5,
|
| 392 |
x.Score6, x.Score7, x.Score8, x.Score9, x.Score10,
|
| 393 |
+
x.Score11, x.Score12, x.Score13, x.Score14, x.Score15,
|
| 394 |
+
x.Score16, x.Score17, x.Score18, x.Score19, x.Score20),
|
| 395 |
TotalScore = x.TotalScore.ToString("0.00"),
|
| 396 |
TotalPercent = (100.0m * x.TotalScore / FullScore).ToString("0.00") + "%",
|
| 397 |
CreateDate = x.CreateDate,
|
|
|
|
| 516 |
Evaluator = y.Evaluator1,
|
| 517 |
EvaluatorName = x.EvaluatorName,
|
| 518 |
Answers = Program.ListAnswers(x.Answers),
|
| 519 |
+
Scores = Program.ListScoreStrings(test.NumCompetencies,
|
| 520 |
x.Score1, x.Score2, x.Score3, x.Score4, x.Score5,
|
| 521 |
x.Score6, x.Score7, x.Score8, x.Score9, x.Score10,
|
| 522 |
+
x.Score11, x.Score12, x.Score13, x.Score14, x.Score15,
|
| 523 |
+
x.Score16, x.Score17, x.Score18, x.Score19, x.Score20),
|
| 524 |
TotalScore = x.TotalScore.ToString("0.00"),
|
| 525 |
TotalPercent = (100.0m * x.TotalScore / FullScore).ToString("0.00") + "%",
|
| 526 |
CreateDate = x.CreateDate,
|
|
|
|
| 561 |
Evaluator = y.Evaluator1,
|
| 562 |
EvaluatorName = x.EvaluatorName,
|
| 563 |
Answers = Program.ListAnswers(x.Answers),
|
| 564 |
+
Scores = Program.ListScoreStrings(test.NumCompetencies,
|
| 565 |
x.Score1, x.Score2, x.Score3, x.Score4, x.Score5,
|
| 566 |
x.Score6, x.Score7, x.Score8, x.Score9, x.Score10,
|
| 567 |
+
x.Score11, x.Score12, x.Score13, x.Score14, x.Score15,
|
| 568 |
+
x.Score16, x.Score17, x.Score18, x.Score19, x.Score20),
|
| 569 |
TotalScore = x.TotalScore.ToString("0.00"),
|
| 570 |
TotalPercent = (100.0m * x.TotalScore / FullScore).ToString("0.00") + "%",
|
| 571 |
CreateDate = x.CreateDate,
|
|
@@ -270,118 +270,80 @@ partial class Program {
|
|
| 270 |
return date + " " + month + " " + year + " " + hour + ":" + minute + " ???.";
|
| 271 |
}
|
| 272 |
|
| 273 |
-
public static List<string> ListCompetencies(byte n,
|
| 274 |
-
|
| 275 |
-
|
| 276 |
-
|
| 277 |
-
|
| 278 |
-
|
| 279 |
-
|
| 280 |
-
|
| 281 |
-
|
| 282 |
-
|
| 283 |
-
if (n >= 7) L.Add(s7);
|
| 284 |
-
if (n >= 8) L.Add(s8);
|
| 285 |
-
if (n >= 9) L.Add(s9);
|
| 286 |
-
if (n >= 10) L.Add(s10);
|
| 287 |
-
if (n >= 11) L.Add(s11);
|
| 288 |
-
if (n >= 12) L.Add(s12);
|
| 289 |
-
if (n >= 13) L.Add(s13);
|
| 290 |
-
if (n >= 14) L.Add(s14);
|
| 291 |
-
if (n >= 15) L.Add(s15);
|
| 292 |
-
return L;
|
| 293 |
}
|
| 294 |
|
| 295 |
-
public static List<
|
| 296 |
-
|
| 297 |
-
|
| 298 |
-
|
| 299 |
-
|
| 300 |
-
|
| 301 |
-
|
| 302 |
-
|
| 303 |
-
|
| 304 |
-
|
| 305 |
-
if (n >= 7) L.Add(s7 ?? 0);
|
| 306 |
-
if (n >= 8) L.Add(s8 ?? 0);
|
| 307 |
-
if (n >= 9) L.Add(s9 ?? 0);
|
| 308 |
-
if (n >= 10) L.Add(s10 ?? 0);
|
| 309 |
-
if (n >= 11) L.Add(s11 ?? 0);
|
| 310 |
-
if (n >= 12) L.Add(s12 ?? 0);
|
| 311 |
-
if (n >= 13) L.Add(s13 ?? 0);
|
| 312 |
-
if (n >= 14) L.Add(s14 ?? 0);
|
| 313 |
-
if (n >= 15) L.Add(s15 ?? 0);
|
| 314 |
-
return L;
|
| 315 |
}
|
| 316 |
|
| 317 |
-
public static List<
|
| 318 |
-
|
| 319 |
-
|
| 320 |
-
|
| 321 |
-
|
| 322 |
-
|
| 323 |
-
|
| 324 |
-
|
| 325 |
-
|
| 326 |
-
|
| 327 |
-
if (n >= 7) L.Add(s7);
|
| 328 |
-
if (n >= 8) L.Add(s8);
|
| 329 |
-
if (n >= 9) L.Add(s9);
|
| 330 |
-
if (n >= 10) L.Add(s10);
|
| 331 |
-
if (n >= 11) L.Add(s11);
|
| 332 |
-
if (n >= 12) L.Add(s12);
|
| 333 |
-
if (n >= 13) L.Add(s13);
|
| 334 |
-
if (n >= 14) L.Add(s14);
|
| 335 |
-
if (n >= 15) L.Add(s15);
|
| 336 |
-
return L;
|
| 337 |
}
|
| 338 |
|
| 339 |
-
public static List<string>
|
| 340 |
-
|
| 341 |
-
|
| 342 |
-
|
| 343 |
-
|
| 344 |
-
|
| 345 |
-
|
| 346 |
-
|
| 347 |
-
|
| 348 |
-
|
| 349 |
-
if (n >= 8) L.Add(s8);
|
| 350 |
-
if (n >= 9) L.Add(s9);
|
| 351 |
-
if (n >= 10) L.Add(s10);
|
| 352 |
-
return L;
|
| 353 |
}
|
| 354 |
|
| 355 |
-
public static List<string>
|
| 356 |
-
|
| 357 |
-
|
| 358 |
-
|
| 359 |
-
|
| 360 |
-
|
| 361 |
-
|
| 362 |
-
|
| 363 |
-
|
| 364 |
-
|
| 365 |
-
if (n >= 8) L.Add(s8 != null ? Program.DomainName + "/files/competencyassessment/" + s8 : null);
|
| 366 |
-
if (n >= 9) L.Add(s9 != null ? Program.DomainName + "/files/competencyassessment/" + s9 : null);
|
| 367 |
-
if (n >= 10) L.Add(s10 != null ? Program.DomainName + "/files/competencyassessment/" + s10 : null);
|
| 368 |
-
return L;
|
| 369 |
}
|
| 370 |
|
| 371 |
-
public static List<
|
| 372 |
-
|
| 373 |
-
|
| 374 |
-
|
| 375 |
-
|
| 376 |
-
|
| 377 |
-
|
| 378 |
-
|
| 379 |
-
|
| 380 |
-
|
| 381 |
-
|
| 382 |
-
|
| 383 |
-
|
| 384 |
-
return
|
| 385 |
}
|
| 386 |
|
| 387 |
public static List<string> ListAnswers(string answers) {
|
|
@@ -391,51 +353,56 @@ partial class Program {
|
|
| 391 |
return L;
|
| 392 |
}
|
| 393 |
|
| 394 |
-
public static List<
|
| 395 |
-
|
| 396 |
-
|
| 397 |
-
|
| 398 |
-
|
| 399 |
-
|
| 400 |
-
|
| 401 |
-
|
| 402 |
-
|
| 403 |
-
|
| 404 |
-
L.Add(n >= 7 ? (s7 ?? 0).ToString("0.00") : "-");
|
| 405 |
-
L.Add(n >= 8 ? (s8 ?? 0).ToString("0.00") : "-");
|
| 406 |
-
L.Add(n >= 9 ? (s9 ?? 0).ToString("0.00") : "-");
|
| 407 |
-
L.Add(n >= 10 ? (s10 ?? 0).ToString("0.00") : "-");
|
| 408 |
-
L.Add(n >= 11 ? (s11 ?? 0).ToString("0.00") : "-");
|
| 409 |
-
L.Add(n >= 12 ? (s12 ?? 0).ToString("0.00") : "-");
|
| 410 |
-
L.Add(n >= 13 ? (s13 ?? 0).ToString("0.00") : "-");
|
| 411 |
-
L.Add(n >= 14 ? (s14 ?? 0).ToString("0.00") : "-");
|
| 412 |
-
L.Add(n >= 15 ? (s15 ?? 0).ToString("0.00") : "-");
|
| 413 |
-
return L;
|
| 414 |
}
|
| 415 |
|
| 416 |
-
public static List<string>
|
| 417 |
-
|
| 418 |
-
|
| 419 |
-
|
| 420 |
-
|
| 421 |
-
|
| 422 |
-
|
| 423 |
-
|
| 424 |
-
|
| 425 |
-
|
| 426 |
-
|
| 427 |
-
|
| 428 |
-
|
| 429 |
-
L.Add(n >= 9 ? (hd * (s9 ?? 0) / total).ToString("0.00") : "-");
|
| 430 |
-
L.Add(n >= 10 ? (hd * (s10 ?? 0) / total).ToString("0.00") : "-");
|
| 431 |
-
L.Add(n >= 11 ? (hd * (s11 ?? 0) / total).ToString("0.00") : "-");
|
| 432 |
-
L.Add(n >= 12 ? (hd * (s12 ?? 0) / total).ToString("0.00") : "-");
|
| 433 |
-
L.Add(n >= 13 ? (hd * (s13 ?? 0) / total).ToString("0.00") : "-");
|
| 434 |
-
L.Add(n >= 14 ? (hd * (s14 ?? 0) / total).ToString("0.00") : "-");
|
| 435 |
-
L.Add(n >= 15 ? (hd * (s15 ?? 0) / total).ToString("0.00") : "-");
|
| 436 |
-
return L;
|
| 437 |
}
|
| 438 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 439 |
public static int CountTrainees(uint TrainId) {
|
| 440 |
|
| 441 |
var db = new CompetencyAssessmentDbContext();
|
|
@@ -478,21 +445,16 @@ partial class Program {
|
|
| 478 |
select x;
|
| 479 |
|
| 480 |
decimal sum = 0.0m;
|
| 481 |
-
foreach (var
|
| 482 |
-
|
| 483 |
-
|
| 484 |
-
|
| 485 |
-
|
| 486 |
-
|
| 487 |
-
|
| 488 |
-
max = Math.Max(max, i.Score6 ?? 0.0m);
|
| 489 |
-
max = Math.Max(max, i.Score7 ?? 0.0m);
|
| 490 |
-
max = Math.Max(max, i.Score8 ?? 0.0m);
|
| 491 |
-
max = Math.Max(max, i.Score9 ?? 0.0m);
|
| 492 |
-
max = Math.Max(max, i.Score10 ?? 0.0m);
|
| 493 |
-
sum = sum + max;
|
| 494 |
}
|
| 495 |
|
|
|
|
| 496 |
return sum;
|
| 497 |
}
|
| 498 |
|
|
@@ -505,19 +467,13 @@ partial class Program {
|
|
| 505 |
select x;
|
| 506 |
|
| 507 |
decimal sum = 0.0m;
|
| 508 |
-
foreach (var
|
| 509 |
-
|
| 510 |
-
|
| 511 |
-
|
| 512 |
-
|
| 513 |
-
|
| 514 |
-
|
| 515 |
-
max = Math.Max(max, i.Score6 ?? 0.0m);
|
| 516 |
-
max = Math.Max(max, i.Score7 ?? 0.0m);
|
| 517 |
-
max = Math.Max(max, i.Score8 ?? 0.0m);
|
| 518 |
-
max = Math.Max(max, i.Score9 ?? 0.0m);
|
| 519 |
-
max = Math.Max(max, i.Score10 ?? 0.0m);
|
| 520 |
-
sum = sum + max;
|
| 521 |
}
|
| 522 |
|
| 523 |
return sum;
|
|
@@ -635,102 +591,63 @@ partial class Program {
|
|
| 635 |
var TrainId = db.Trainee.Find(TraineeId).TrainId;
|
| 636 |
var TestId = db.Train.Find(TrainId).TestId;
|
| 637 |
|
| 638 |
-
double
|
| 639 |
-
|
| 640 |
-
|
| 641 |
-
|
| 642 |
-
|
| 643 |
-
|
| 644 |
-
|
| 645 |
-
|
| 646 |
-
double FullScore9 = (double)Program.GetFullScoreByCompetency(TestId, 9); if (FullScore9 == 0.0d) FullScore9 = 1.0d;
|
| 647 |
-
double FullScore10 = (double)Program.GetFullScoreByCompetency(TestId, 10); if (FullScore10 == 0.0d) FullScore10 = 1.0d;
|
| 648 |
-
double FullScore11 = (double)Program.GetFullScoreByCompetency(TestId, 11); if (FullScore11 == 0.0d) FullScore11 = 1.0d;
|
| 649 |
-
double FullScore12 = (double)Program.GetFullScoreByCompetency(TestId, 12); if (FullScore12 == 0.0d) FullScore12 = 1.0d;
|
| 650 |
-
double FullScore13 = (double)Program.GetFullScoreByCompetency(TestId, 13); if (FullScore13 == 0.0d) FullScore13 = 1.0d;
|
| 651 |
-
double FullScore14 = (double)Program.GetFullScoreByCompetency(TestId, 14); if (FullScore14 == 0.0d) FullScore14 = 1.0d;
|
| 652 |
-
double FullScore15 = (double)Program.GetFullScoreByCompetency(TestId, 15); if (FullScore15 == 0.0d) FullScore15 = 1.0d;
|
| 653 |
|
| 654 |
if (IsPreTest) {
|
| 655 |
|
| 656 |
var self = (from x in db.PreTestScore where x.TraineeId == TraineeId && x.EvaluatorId == 1 orderby x.CreateDate descending select x).FirstOrDefault();
|
| 657 |
if (self != null) {
|
| 658 |
Self = new List<double>();
|
| 659 |
-
|
| 660 |
-
|
| 661 |
-
|
| 662 |
-
|
| 663 |
-
|
| 664 |
-
|
| 665 |
-
|
| 666 |
-
if (NumCompetencies >= 8) Self.Add(100.0d * Convert.ToDouble(self.Score8 ?? 0.0m) / FullScore8);
|
| 667 |
-
if (NumCompetencies >= 9) Self.Add(100.0d * Convert.ToDouble(self.Score9 ?? 0.0m) / FullScore9);
|
| 668 |
-
if (NumCompetencies >= 10) Self.Add(100.0d * Convert.ToDouble(self.Score10 ?? 0.0m) / FullScore10);
|
| 669 |
-
if (NumCompetencies >= 11) Self.Add(100.0d * Convert.ToDouble(self.Score11 ?? 0.0m) / FullScore11);
|
| 670 |
-
if (NumCompetencies >= 12) Self.Add(100.0d * Convert.ToDouble(self.Score12 ?? 0.0m) / FullScore12);
|
| 671 |
-
if (NumCompetencies >= 13) Self.Add(100.0d * Convert.ToDouble(self.Score13 ?? 0.0m ) / FullScore13);
|
| 672 |
-
if (NumCompetencies >= 14) Self.Add(100.0d * Convert.ToDouble(self.Score14 ?? 0.0m) / FullScore14);
|
| 673 |
-
if (NumCompetencies >= 15) Self.Add(100.0d * Convert.ToDouble(self.Score15 ?? 0.0m) / FullScore15);
|
| 674 |
}
|
| 675 |
|
| 676 |
var boss = (from x in db.PreTestScore where x.TraineeId == TraineeId && x.EvaluatorId == 2 orderby x.CreateDate descending select x).FirstOrDefault();
|
| 677 |
if (boss != null) {
|
| 678 |
Boss = new List<double>();
|
| 679 |
-
|
| 680 |
-
|
| 681 |
-
|
| 682 |
-
|
| 683 |
-
|
| 684 |
-
|
| 685 |
-
|
| 686 |
-
if (NumCompetencies >= 8) Boss.Add(100.0d * Convert.ToDouble(boss.Score8 ?? 0.0m) / FullScore8);
|
| 687 |
-
if (NumCompetencies >= 9) Boss.Add(100.0d * Convert.ToDouble(boss.Score9 ?? 0.0m) / FullScore9);
|
| 688 |
-
if (NumCompetencies >= 10) Boss.Add(100.0d * Convert.ToDouble(boss.Score10 ?? 0.0m) / FullScore10);
|
| 689 |
-
if (NumCompetencies >= 11) Boss.Add(100.0d * Convert.ToDouble(boss.Score11 ?? 0.0m) / FullScore11);
|
| 690 |
-
if (NumCompetencies >= 12) Boss.Add(100.0d * Convert.ToDouble(boss.Score12 ?? 0.0m) / FullScore12);
|
| 691 |
-
if (NumCompetencies >= 13) Boss.Add(100.0d * Convert.ToDouble(boss.Score13 ?? 0.0m) / FullScore13);
|
| 692 |
-
if (NumCompetencies >= 14) Boss.Add(100.0d * Convert.ToDouble(boss.Score14 ?? 0.0m) / FullScore14);
|
| 693 |
-
if (NumCompetencies >= 15) Boss.Add(100.0d * Convert.ToDouble(boss.Score15 ?? 0.0m) / FullScore15);
|
| 694 |
}
|
| 695 |
|
| 696 |
var colleague = (from x in db.PreTestScore where x.TraineeId == TraineeId && x.EvaluatorId == 3 orderby x.CreateDate descending select x).FirstOrDefault();
|
| 697 |
if (colleague != null) {
|
| 698 |
Colleague = new List<double>();
|
| 699 |
-
|
| 700 |
-
|
| 701 |
-
|
| 702 |
-
|
| 703 |
-
|
| 704 |
-
|
| 705 |
-
|
| 706 |
-
if (NumCompetencies >= 8) Colleague.Add(100.0d * Convert.ToDouble(colleague.Score8 ?? 0.0m) / FullScore8);
|
| 707 |
-
if (NumCompetencies >= 9) Colleague.Add(100.0d * Convert.ToDouble(colleague.Score9 ?? 0.0m) / FullScore9);
|
| 708 |
-
if (NumCompetencies >= 10) Colleague.Add(100.0d * Convert.ToDouble(colleague.Score10 ?? 0.0m) / FullScore10);
|
| 709 |
-
if (NumCompetencies >= 11) Colleague.Add(100.0d * Convert.ToDouble(colleague.Score11 ?? 0.0m) / FullScore11);
|
| 710 |
-
if (NumCompetencies >= 12) Colleague.Add(100.0d * Convert.ToDouble(colleague.Score12 ?? 0.0m) / FullScore12);
|
| 711 |
-
if (NumCompetencies >= 13) Colleague.Add(100.0d * Convert.ToDouble(colleague.Score13 ?? 0.0m) / FullScore13);
|
| 712 |
-
if (NumCompetencies >= 14) Colleague.Add(100.0d * Convert.ToDouble(colleague.Score14 ?? 0.0m) / FullScore14);
|
| 713 |
-
if (NumCompetencies >= 15) Colleague.Add(100.0d * Convert.ToDouble(colleague.Score15 ?? 0.0m) / FullScore15);
|
| 714 |
}
|
| 715 |
|
| 716 |
var subordinate = (from x in db.PreTestScore where x.TraineeId == TraineeId && x.EvaluatorId == 4 orderby x.CreateDate descending select x).FirstOrDefault();
|
| 717 |
if (subordinate != null) {
|
| 718 |
Subordinate = new List<double>();
|
| 719 |
-
|
| 720 |
-
|
| 721 |
-
|
| 722 |
-
|
| 723 |
-
|
| 724 |
-
|
| 725 |
-
|
| 726 |
-
if (NumCompetencies >= 8) Subordinate.Add(100.0d * Convert.ToDouble(subordinate.Score8 ?? 0.0m) / FullScore8);
|
| 727 |
-
if (NumCompetencies >= 9) Subordinate.Add(100.0d * Convert.ToDouble(subordinate.Score9 ?? 0.0m) / FullScore9);
|
| 728 |
-
if (NumCompetencies >= 10) Subordinate.Add(100.0d * Convert.ToDouble(subordinate.Score10 ?? 0.0m) / FullScore10);
|
| 729 |
-
if (NumCompetencies >= 11) Subordinate.Add(100.0d * Convert.ToDouble(subordinate.Score11 ?? 0.0m) / FullScore11);
|
| 730 |
-
if (NumCompetencies >= 12) Subordinate.Add(100.0d * Convert.ToDouble(subordinate.Score12 ?? 0.0m) / FullScore12);
|
| 731 |
-
if (NumCompetencies >= 13) Subordinate.Add(100.0d * Convert.ToDouble(subordinate.Score13 ?? 0.0m) / FullScore13);
|
| 732 |
-
if (NumCompetencies >= 14) Subordinate.Add(100.0d * Convert.ToDouble(subordinate.Score14 ?? 0.0m) / FullScore14);
|
| 733 |
-
if (NumCompetencies >= 15) Subordinate.Add(100.0d * Convert.ToDouble(subordinate.Score15 ?? 0.0m) / FullScore15);
|
| 734 |
}
|
| 735 |
|
| 736 |
} else { // post-test
|
|
@@ -738,81 +655,49 @@ partial class Program {
|
|
| 738 |
var self = (from x in db.PostTestScore where x.TraineeId == TraineeId && x.EvaluatorId == 1 orderby x.CreateDate descending select x).FirstOrDefault();
|
| 739 |
if (self != null) {
|
| 740 |
Self = new List<double>();
|
| 741 |
-
|
| 742 |
-
|
| 743 |
-
|
| 744 |
-
|
| 745 |
-
|
| 746 |
-
|
| 747 |
-
|
| 748 |
-
if (NumCompetencies >= 8) Self.Add(100.0d * Convert.ToDouble(self.Score8 ?? 0.0m) / FullScore8);
|
| 749 |
-
if (NumCompetencies >= 9) Self.Add(100.0d * Convert.ToDouble(self.Score9 ?? 0.0m) / FullScore9);
|
| 750 |
-
if (NumCompetencies >= 10) Self.Add(100.0d * Convert.ToDouble(self.Score10 ?? 0.0m) / FullScore10);
|
| 751 |
-
if (NumCompetencies >= 11) Self.Add(100.0d * Convert.ToDouble(self.Score11 ?? 0.0m) / FullScore11);
|
| 752 |
-
if (NumCompetencies >= 12) Self.Add(100.0d * Convert.ToDouble(self.Score12 ?? 0.0m) / FullScore12);
|
| 753 |
-
if (NumCompetencies >= 13) Self.Add(100.0d * Convert.ToDouble(self.Score13 ?? 0.0m) / FullScore13);
|
| 754 |
-
if (NumCompetencies >= 14) Self.Add(100.0d * Convert.ToDouble(self.Score14 ?? 0.0m) / FullScore14);
|
| 755 |
-
if (NumCompetencies >= 15) Self.Add(100.0d * Convert.ToDouble(self.Score15 ?? 0.0m) / FullScore15);
|
| 756 |
}
|
| 757 |
|
| 758 |
var boss = (from x in db.PostTestScore where x.TraineeId == TraineeId && x.EvaluatorId == 2 orderby x.CreateDate descending select x).FirstOrDefault();
|
| 759 |
if (boss != null) {
|
| 760 |
Boss = new List<double>();
|
| 761 |
-
|
| 762 |
-
|
| 763 |
-
|
| 764 |
-
|
| 765 |
-
|
| 766 |
-
|
| 767 |
-
|
| 768 |
-
if (NumCompetencies >= 8) Boss.Add(100.0d * Convert.ToDouble(boss.Score8 ?? 0.0m) / FullScore8);
|
| 769 |
-
if (NumCompetencies >= 9) Boss.Add(100.0d * Convert.ToDouble(boss.Score9 ?? 0.0m) / FullScore9);
|
| 770 |
-
if (NumCompetencies >= 10) Boss.Add(100.0d * Convert.ToDouble(boss.Score10 ?? 0.0m) / FullScore10);
|
| 771 |
-
if (NumCompetencies >= 11) Boss.Add(100.0d * Convert.ToDouble(boss.Score11 ?? 0.0m) / FullScore11);
|
| 772 |
-
if (NumCompetencies >= 12) Boss.Add(100.0d * Convert.ToDouble(boss.Score12 ?? 0.0m) / FullScore12);
|
| 773 |
-
if (NumCompetencies >= 13) Boss.Add(100.0d * Convert.ToDouble(boss.Score13 ?? 0.0m) / FullScore13);
|
| 774 |
-
if (NumCompetencies >= 14) Boss.Add(100.0d * Convert.ToDouble(boss.Score14 ?? 0.0m) / FullScore14);
|
| 775 |
-
if (NumCompetencies >= 15) Boss.Add(100.0d * Convert.ToDouble(boss.Score15 ?? 0.0m) / FullScore15);
|
| 776 |
}
|
| 777 |
|
| 778 |
var colleague = (from x in db.PostTestScore where x.TraineeId == TraineeId && x.EvaluatorId == 3 orderby x.CreateDate descending select x).FirstOrDefault();
|
| 779 |
if (colleague != null) {
|
| 780 |
Colleague = new List<double>();
|
| 781 |
-
|
| 782 |
-
|
| 783 |
-
|
| 784 |
-
|
| 785 |
-
|
| 786 |
-
|
| 787 |
-
|
| 788 |
-
if (NumCompetencies >= 8) Colleague.Add(100.0d * Convert.ToDouble(colleague.Score8 ?? 0.0m) / FullScore8);
|
| 789 |
-
if (NumCompetencies >= 9) Colleague.Add(100.0d * Convert.ToDouble(colleague.Score9 ?? 0.0m) / FullScore9);
|
| 790 |
-
if (NumCompetencies >= 10) Colleague.Add(100.0d * Convert.ToDouble(colleague.Score10 ?? 0.0m) / FullScore10);
|
| 791 |
-
if (NumCompetencies >= 11) Colleague.Add(100.0d * Convert.ToDouble(colleague.Score11 ?? 0.0m) / FullScore11);
|
| 792 |
-
if (NumCompetencies >= 12) Colleague.Add(100.0d * Convert.ToDouble(colleague.Score12 ?? 0.0m) / FullScore12);
|
| 793 |
-
if (NumCompetencies >= 13) Colleague.Add(100.0d * Convert.ToDouble(colleague.Score13 ?? 0.0m) / FullScore13);
|
| 794 |
-
if (NumCompetencies >= 14) Colleague.Add(100.0d * Convert.ToDouble(colleague.Score14 ?? 0.0m) / FullScore14);
|
| 795 |
-
if (NumCompetencies >= 15) Colleague.Add(100.0d * Convert.ToDouble(colleague.Score15 ?? 0.0m) / FullScore15);
|
| 796 |
}
|
| 797 |
|
| 798 |
var subordinate = (from x in db.PostTestScore where x.TraineeId == TraineeId && x.EvaluatorId == 4 orderby x.CreateDate descending select x).FirstOrDefault();
|
| 799 |
if (subordinate != null) {
|
| 800 |
Subordinate = new List<double>();
|
| 801 |
-
|
| 802 |
-
|
| 803 |
-
|
| 804 |
-
|
| 805 |
-
|
| 806 |
-
|
| 807 |
-
|
| 808 |
-
if (NumCompetencies >= 8) Subordinate.Add(100.0d * Convert.ToDouble(subordinate.Score8 ?? 0.0m) / FullScore8);
|
| 809 |
-
if (NumCompetencies >= 9) Subordinate.Add(100.0d * Convert.ToDouble(subordinate.Score9 ?? 0.0m) / FullScore9);
|
| 810 |
-
if (NumCompetencies >= 10) Subordinate.Add(100.0d * Convert.ToDouble(subordinate.Score10 ?? 0.0m) / FullScore10);
|
| 811 |
-
if (NumCompetencies >= 11) Subordinate.Add(100.0d * Convert.ToDouble(subordinate.Score11 ?? 0.0m) / FullScore11);
|
| 812 |
-
if (NumCompetencies >= 12) Subordinate.Add(100.0d * Convert.ToDouble(subordinate.Score12 ?? 0.0m) / FullScore12);
|
| 813 |
-
if (NumCompetencies >= 13) Subordinate.Add(100.0d * Convert.ToDouble(subordinate.Score13 ?? 0.0m) / FullScore13);
|
| 814 |
-
if (NumCompetencies >= 14) Subordinate.Add(100.0d * Convert.ToDouble(subordinate.Score14 ?? 0.0m) / FullScore14);
|
| 815 |
-
if (NumCompetencies >= 15) Subordinate.Add(100.0d * Convert.ToDouble(subordinate.Score15 ?? 0.0m) / FullScore15);
|
| 816 |
}
|
| 817 |
}
|
| 818 |
|
|
@@ -826,166 +711,122 @@ partial class Program {
|
|
| 826 |
var TrainId = db.Trainee.Find(TraineeId).TrainId;
|
| 827 |
var TestId = db.Train.Find(TrainId).TestId;
|
| 828 |
|
| 829 |
-
double
|
| 830 |
-
|
| 831 |
-
|
| 832 |
-
|
| 833 |
-
|
| 834 |
-
|
| 835 |
-
|
| 836 |
-
|
| 837 |
-
double FullScore9 = (double)Program.GetFullScoreByCompetency(TestId, 9); if (FullScore9 == 0.0d) FullScore9 = 1.0d;
|
| 838 |
-
double FullScore10 = (double)Program.GetFullScoreByCompetency(TestId, 10); if (FullScore10 == 0.0d) FullScore10 = 1.0d;
|
| 839 |
-
double FullScore11 = (double)Program.GetFullScoreByCompetency(TestId, 11); if (FullScore11 == 0.0d) FullScore11 = 1.0d;
|
| 840 |
-
double FullScore12 = (double)Program.GetFullScoreByCompetency(TestId, 12); if (FullScore12 == 0.0d) FullScore12 = 1.0d;
|
| 841 |
-
double FullScore13 = (double)Program.GetFullScoreByCompetency(TestId, 13); if (FullScore13 == 0.0d) FullScore13 = 1.0d;
|
| 842 |
-
double FullScore14 = (double)Program.GetFullScoreByCompetency(TestId, 14); if (FullScore14 == 0.0d) FullScore14 = 1.0d;
|
| 843 |
-
double FullScore15 = (double)Program.GetFullScoreByCompetency(TestId, 15); if (FullScore15 == 0.0d) FullScore15 = 1.0d;
|
| 844 |
|
| 845 |
var pre = (from x in db.PreTestScore where x.TraineeId == TraineeId && x.EvaluatorId == EvaluatorId orderby x.CreateDate descending select x).FirstOrDefault();
|
| 846 |
if (pre != null) {
|
| 847 |
PreTest = new List<double>();
|
| 848 |
-
|
| 849 |
-
|
| 850 |
-
|
| 851 |
-
|
| 852 |
-
|
| 853 |
-
|
| 854 |
-
|
| 855 |
-
if (NumCompetencies >= 8) PreTest.Add(100.0d * Convert.ToDouble(pre.Score8 ?? 0.0m) / FullScore8);
|
| 856 |
-
if (NumCompetencies >= 9) PreTest.Add(100.0d * Convert.ToDouble(pre.Score9 ?? 0.0m) / FullScore9);
|
| 857 |
-
if (NumCompetencies >= 10) PreTest.Add(100.0d * Convert.ToDouble(pre.Score10 ?? 0.0m) / FullScore10);
|
| 858 |
-
if (NumCompetencies >= 11) PreTest.Add(100.0d * Convert.ToDouble(pre.Score11 ?? 0.0m) / FullScore11);
|
| 859 |
-
if (NumCompetencies >= 12) PreTest.Add(100.0d * Convert.ToDouble(pre.Score12 ?? 0.0m) / FullScore12);
|
| 860 |
-
if (NumCompetencies >= 13) PreTest.Add(100.0d * Convert.ToDouble(pre.Score13 ?? 0.0m) / FullScore13);
|
| 861 |
-
if (NumCompetencies >= 14) PreTest.Add(100.0d * Convert.ToDouble(pre.Score14 ?? 0.0m) / FullScore14);
|
| 862 |
-
if (NumCompetencies >= 15) PreTest.Add(100.0d * Convert.ToDouble(pre.Score15 ?? 0.0m) / FullScore15);
|
| 863 |
}
|
| 864 |
|
| 865 |
var post = (from x in db.PostTestScore where x.TraineeId == TraineeId && x.EvaluatorId == EvaluatorId orderby x.CreateDate descending select x).FirstOrDefault();
|
| 866 |
if (post != null) {
|
| 867 |
PostTest = new List<double>();
|
| 868 |
-
|
| 869 |
-
|
| 870 |
-
|
| 871 |
-
|
| 872 |
-
|
| 873 |
-
|
| 874 |
-
|
| 875 |
-
if (NumCompetencies >= 8) PostTest.Add(100.0d * Convert.ToDouble(post.Score8 ?? 0.0m) / FullScore8);
|
| 876 |
-
if (NumCompetencies >= 9) PostTest.Add(100.0d * Convert.ToDouble(post.Score9 ?? 0.0m) / FullScore9);
|
| 877 |
-
if (NumCompetencies >= 10) PostTest.Add(100.0d * Convert.ToDouble(post.Score10 ?? 0.0m) / FullScore10);
|
| 878 |
-
if (NumCompetencies >= 11) PostTest.Add(100.0d * Convert.ToDouble(post.Score11 ?? 0.0m) / FullScore11);
|
| 879 |
-
if (NumCompetencies >= 12) PostTest.Add(100.0d * Convert.ToDouble(post.Score12 ?? 0.0m) / FullScore12);
|
| 880 |
-
if (NumCompetencies >= 13) PostTest.Add(100.0d * Convert.ToDouble(post.Score13 ?? 0.0m) / FullScore13);
|
| 881 |
-
if (NumCompetencies >= 14) PostTest.Add(100.0d * Convert.ToDouble(post.Score14 ?? 0.0m) / FullScore14);
|
| 882 |
-
if (NumCompetencies >= 15) PostTest.Add(100.0d * Convert.ToDouble(post.Score15 ?? 0.0m) / FullScore15);
|
| 883 |
}
|
| 884 |
|
| 885 |
return;
|
| 886 |
}
|
| 887 |
|
| 888 |
-
public static List<double> MaxScore(uint TestId)
|
| 889 |
-
|
| 890 |
var db = new CompetencyAssessmentDbContext();
|
| 891 |
|
| 892 |
var test = db.Test.Find(TestId);
|
| 893 |
if (test == null) return null;
|
| 894 |
|
| 895 |
-
|
| 896 |
-
|
|
|
|
|
|
|
| 897 |
|
| 898 |
var items = from x in db.TestItem where x.TestId == TestId select x;
|
| 899 |
-
foreach (var item in items) {
|
| 900 |
|
|
|
|
|
|
|
| 901 |
decimal max = 0.0m;
|
| 902 |
-
|
| 903 |
-
|
| 904 |
-
|
| 905 |
-
|
| 906 |
-
|
| 907 |
-
|
| 908 |
-
|
| 909 |
-
|
| 910 |
-
|
| 911 |
-
|
| 912 |
-
|
| 913 |
-
|
| 914 |
-
|
| 915 |
-
|
| 916 |
-
if (
|
| 917 |
-
|
| 918 |
-
if (item.CompetencyNo == 6) L[5] += (double)max;
|
| 919 |
-
if (item.CompetencyNo == 7) L[6] += (double)max;
|
| 920 |
-
if (item.CompetencyNo == 8) L[7] += (double)max;
|
| 921 |
-
if (item.CompetencyNo == 9) L[8] += (double)max;
|
| 922 |
-
if (item.CompetencyNo == 10) L[9] += (double)max;
|
| 923 |
-
if (item.CompetencyNo == 11) L[10] += (double)max;
|
| 924 |
-
if (item.CompetencyNo == 12) L[11] += (double)max;
|
| 925 |
-
if (item.CompetencyNo == 13) L[12] += (double)max;
|
| 926 |
-
if (item.CompetencyNo == 14) L[13] += (double)max;
|
| 927 |
-
if (item.CompetencyNo == 15) L[14] += (double)max;
|
| 928 |
}
|
| 929 |
|
| 930 |
return L;
|
| 931 |
}
|
| 932 |
|
| 933 |
-
public static List<double> Threshold(uint TestId)
|
| 934 |
-
|
| 935 |
var db = new CompetencyAssessmentDbContext();
|
| 936 |
|
| 937 |
var test = db.Test.Find(TestId);
|
| 938 |
if (test == null) return null;
|
| 939 |
|
| 940 |
-
|
| 941 |
-
|
| 942 |
-
|
| 943 |
-
|
| 944 |
-
|
| 945 |
-
|
| 946 |
-
|
| 947 |
-
|
| 948 |
-
|
| 949 |
-
if (test.NumCompetencies >= 8) L.Add((double)(test.Threshold8 ?? 0.0m));
|
| 950 |
-
if (test.NumCompetencies >= 9) L.Add((double)(test.Threshold9 ?? 0.0m));
|
| 951 |
-
if (test.NumCompetencies >= 10) L.Add((double)(test.Threshold10 ?? 0.0m));
|
| 952 |
-
if (test.NumCompetencies >= 11) L.Add((double)(test.Threshold11 ?? 0.0m));
|
| 953 |
-
if (test.NumCompetencies >= 12) L.Add((double)(test.Threshold12 ?? 0.0m));
|
| 954 |
-
if (test.NumCompetencies >= 13) L.Add((double)(test.Threshold13 ?? 0.0m));
|
| 955 |
-
if (test.NumCompetencies >= 14) L.Add((double)(test.Threshold14 ?? 0.0m));
|
| 956 |
-
if (test.NumCompetencies >= 15) L.Add((double)(test.Threshold15 ?? 0.0m));
|
| 957 |
|
| 958 |
return L;
|
| 959 |
}
|
| 960 |
|
| 961 |
-
public static List<string> Recommendation(uint TestId) {
|
| 962 |
|
|
|
|
|
|
|
| 963 |
var db = new CompetencyAssessmentDbContext();
|
| 964 |
|
| 965 |
var test = db.Test.Find(TestId);
|
| 966 |
if (test == null) return null;
|
| 967 |
|
| 968 |
-
|
| 969 |
|
| 970 |
-
|
| 971 |
-
|
| 972 |
-
|
| 973 |
-
|
| 974 |
-
|
| 975 |
-
|
| 976 |
-
|
| 977 |
-
if (test.NumCompetencies >= 8) L.Add(test.Recommendation8 ?? "");
|
| 978 |
-
if (test.NumCompetencies >= 9) L.Add(test.Recommendation9 ?? "");
|
| 979 |
-
if (test.NumCompetencies >= 10) L.Add(test.Recommendation10 ?? "");
|
| 980 |
-
if (test.NumCompetencies >= 11) L.Add(test.Recommendation11 ?? "");
|
| 981 |
-
if (test.NumCompetencies >= 12) L.Add(test.Recommendation12 ?? "");
|
| 982 |
-
if (test.NumCompetencies >= 13) L.Add(test.Recommendation13 ?? "");
|
| 983 |
-
if (test.NumCompetencies >= 14) L.Add(test.Recommendation14 ?? "");
|
| 984 |
-
if (test.NumCompetencies >= 15) L.Add(test.Recommendation15 ?? "");
|
| 985 |
|
| 986 |
return L;
|
| 987 |
}
|
| 988 |
|
|
|
|
| 989 |
public static string ScoreLevel(double x) {
|
| 990 |
|
| 991 |
/*
|
|
|
|
| 270 |
return date + " " + month + " " + year + " " + hour + ":" + minute + " ???.";
|
| 271 |
}
|
| 272 |
|
| 273 |
+
public static List<string> ListCompetencies(byte n, params string[] items)
|
| 274 |
+
{
|
| 275 |
+
var list = new List<string>();
|
| 276 |
+
|
| 277 |
+
for (int i = 0; i < n && i < items.Length; i++)
|
| 278 |
+
{
|
| 279 |
+
list.Add(items[i]);
|
| 280 |
+
}
|
| 281 |
+
|
| 282 |
+
return list;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 283 |
}
|
| 284 |
|
| 285 |
+
public static List<string> ListThreholds(byte n, params string[] items)
|
| 286 |
+
{
|
| 287 |
+
var list = new List<string>();
|
| 288 |
+
|
| 289 |
+
for (int i = 0; i < n && i < items.Length; i++)
|
| 290 |
+
{
|
| 291 |
+
list.Add(items[i]);
|
| 292 |
+
}
|
| 293 |
+
|
| 294 |
+
return list;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 295 |
}
|
| 296 |
|
| 297 |
+
public static List<decimal> ListThresholds(byte n, params decimal?[] items)
|
| 298 |
+
{
|
| 299 |
+
var list = new List<decimal>();
|
| 300 |
+
|
| 301 |
+
for (int i = 0; i < n && i < items.Length; i++)
|
| 302 |
+
{
|
| 303 |
+
list.Add(items[i] ?? 0m);
|
| 304 |
+
}
|
| 305 |
+
|
| 306 |
+
return list;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 307 |
}
|
| 308 |
|
| 309 |
+
public static List<string> ListRecommendations(byte n, params string[] items)
|
| 310 |
+
{
|
| 311 |
+
var list = new List<string>();
|
| 312 |
+
|
| 313 |
+
for (int i = 0; i < n && i < items.Length; i++)
|
| 314 |
+
{
|
| 315 |
+
list.Add(items[i]);
|
| 316 |
+
}
|
| 317 |
+
|
| 318 |
+
return list;
|
|
|
|
|
|
|
|
|
|
|
|
|
| 319 |
}
|
| 320 |
|
| 321 |
+
public static List<string> ListChoices(byte n, params string[] items)
|
| 322 |
+
{
|
| 323 |
+
var list = new List<string>();
|
| 324 |
+
|
| 325 |
+
for (int i = 0; i < n && i < items.Length; i++)
|
| 326 |
+
{
|
| 327 |
+
list.Add(items[i]);
|
| 328 |
+
}
|
| 329 |
+
|
| 330 |
+
return list;
|
|
|
|
|
|
|
|
|
|
|
|
|
| 331 |
}
|
| 332 |
|
| 333 |
+
public static List<string> ListImages(byte n, params string[] items)
|
| 334 |
+
{
|
| 335 |
+
var basePath = $"{Program.DomainName}/files/competencyassessment/";
|
| 336 |
+
var list = new List<string>();
|
| 337 |
+
|
| 338 |
+
for (int i = 0; i < n && i < items.Length; i++)
|
| 339 |
+
{
|
| 340 |
+
if (!string.IsNullOrEmpty(items[i]))
|
| 341 |
+
{
|
| 342 |
+
list.Add(basePath + items[i]);
|
| 343 |
+
}
|
| 344 |
+
}
|
| 345 |
+
|
| 346 |
+
return list;
|
| 347 |
}
|
| 348 |
|
| 349 |
public static List<string> ListAnswers(string answers) {
|
|
|
|
| 353 |
return L;
|
| 354 |
}
|
| 355 |
|
| 356 |
+
public static List<decimal> ListScores(byte n, params decimal?[] items)
|
| 357 |
+
{
|
| 358 |
+
var list = new List<decimal>();
|
| 359 |
+
|
| 360 |
+
for (int i = 0; i < n && i < items.Length; i++)
|
| 361 |
+
{
|
| 362 |
+
list.Add(items[i] ?? 0m);
|
| 363 |
+
}
|
| 364 |
+
|
| 365 |
+
return list;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 366 |
}
|
| 367 |
|
| 368 |
+
public static List<string> ListScoreStrings(byte n, params decimal?[] items)
|
| 369 |
+
{
|
| 370 |
+
var list = new List<string>();
|
| 371 |
+
|
| 372 |
+
for (int i = 0; i < n; i++)
|
| 373 |
+
{
|
| 374 |
+
if (i < items.Length)
|
| 375 |
+
list.Add((items[i] ?? 0m).ToString("0.00"));
|
| 376 |
+
else
|
| 377 |
+
list.Add("-");
|
| 378 |
+
}
|
| 379 |
+
|
| 380 |
+
return list;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 381 |
}
|
| 382 |
|
| 383 |
+
|
| 384 |
+
public static List<string> ListPercents(byte n, decimal total, params decimal?[] items)
|
| 385 |
+
{
|
| 386 |
+
var list = new List<string>();
|
| 387 |
+
const decimal Hundred = 100m;
|
| 388 |
+
|
| 389 |
+
for (int i = 0; i < n; i++)
|
| 390 |
+
{
|
| 391 |
+
if (i < items.Length && total != 0m)
|
| 392 |
+
{
|
| 393 |
+
var value = Hundred * (items[i] ?? 0m) / total;
|
| 394 |
+
list.Add(value.ToString("0.00"));
|
| 395 |
+
}
|
| 396 |
+
else
|
| 397 |
+
{
|
| 398 |
+
list.Add("-");
|
| 399 |
+
}
|
| 400 |
+
}
|
| 401 |
+
|
| 402 |
+
return list;
|
| 403 |
+
}
|
| 404 |
+
|
| 405 |
+
|
| 406 |
public static int CountTrainees(uint TrainId) {
|
| 407 |
|
| 408 |
var db = new CompetencyAssessmentDbContext();
|
|
|
|
| 445 |
select x;
|
| 446 |
|
| 447 |
decimal sum = 0.0m;
|
| 448 |
+
foreach (var item in items)
|
| 449 |
+
{
|
| 450 |
+
sum += new decimal?[]
|
| 451 |
+
{
|
| 452 |
+
item.Score1, item.Score2, item.Score3, item.Score4, item.Score5,
|
| 453 |
+
item.Score6, item.Score7, item.Score8, item.Score9, item.Score10
|
| 454 |
+
}.Max() ?? 0m;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 455 |
}
|
| 456 |
|
| 457 |
+
|
| 458 |
return sum;
|
| 459 |
}
|
| 460 |
|
|
|
|
| 467 |
select x;
|
| 468 |
|
| 469 |
decimal sum = 0.0m;
|
| 470 |
+
foreach (var item in items)
|
| 471 |
+
{
|
| 472 |
+
sum += new decimal?[]
|
| 473 |
+
{
|
| 474 |
+
item.Score1, item.Score2, item.Score3, item.Score4, item.Score5,
|
| 475 |
+
item.Score6, item.Score7, item.Score8, item.Score9, item.Score10
|
| 476 |
+
}.Max() ?? 0m;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 477 |
}
|
| 478 |
|
| 479 |
return sum;
|
|
|
|
| 591 |
var TrainId = db.Trainee.Find(TraineeId).TrainId;
|
| 592 |
var TestId = db.Train.Find(TrainId).TestId;
|
| 593 |
|
| 594 |
+
double[] FullScore = new double[NumCompetencies];
|
| 595 |
+
|
| 596 |
+
for (int i = 0; i < NumCompetencies; i++)
|
| 597 |
+
{
|
| 598 |
+
FullScore[i] = (double)Program.GetFullScoreByCompetency(TestId, (byte)(i + 1));
|
| 599 |
+
if (FullScore[i] == 0.0d)
|
| 600 |
+
FullScore[i] = 1.0d;
|
| 601 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 602 |
|
| 603 |
if (IsPreTest) {
|
| 604 |
|
| 605 |
var self = (from x in db.PreTestScore where x.TraineeId == TraineeId && x.EvaluatorId == 1 orderby x.CreateDate descending select x).FirstOrDefault();
|
| 606 |
if (self != null) {
|
| 607 |
Self = new List<double>();
|
| 608 |
+
for (int i = 0; i < NumCompetencies; i++)
|
| 609 |
+
{
|
| 610 |
+
var prop = self.GetType().GetProperty($"Score{i + 1}");
|
| 611 |
+
decimal value = prop?.GetValue(self) as decimal? ?? 0.0m;
|
| 612 |
+
|
| 613 |
+
Self.Add(100.0d * Convert.ToDouble(value) / FullScore[i]);
|
| 614 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 615 |
}
|
| 616 |
|
| 617 |
var boss = (from x in db.PreTestScore where x.TraineeId == TraineeId && x.EvaluatorId == 2 orderby x.CreateDate descending select x).FirstOrDefault();
|
| 618 |
if (boss != null) {
|
| 619 |
Boss = new List<double>();
|
| 620 |
+
for (int i = 0; i < NumCompetencies; i++)
|
| 621 |
+
{
|
| 622 |
+
var prop = boss.GetType().GetProperty($"Score{i + 1}");
|
| 623 |
+
decimal value = prop?.GetValue(boss) as decimal? ?? 0.0m;
|
| 624 |
+
|
| 625 |
+
Boss.Add(100.0d * Convert.ToDouble(value) / FullScore[i]);
|
| 626 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 627 |
}
|
| 628 |
|
| 629 |
var colleague = (from x in db.PreTestScore where x.TraineeId == TraineeId && x.EvaluatorId == 3 orderby x.CreateDate descending select x).FirstOrDefault();
|
| 630 |
if (colleague != null) {
|
| 631 |
Colleague = new List<double>();
|
| 632 |
+
for (int i = 0; i < NumCompetencies; i++)
|
| 633 |
+
{
|
| 634 |
+
var prop = colleague.GetType().GetProperty($"Score{i + 1}");
|
| 635 |
+
decimal value = prop?.GetValue(colleague) as decimal? ?? 0.0m;
|
| 636 |
+
|
| 637 |
+
Colleague.Add(100.0d * Convert.ToDouble(value) / FullScore[i]);
|
| 638 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 639 |
}
|
| 640 |
|
| 641 |
var subordinate = (from x in db.PreTestScore where x.TraineeId == TraineeId && x.EvaluatorId == 4 orderby x.CreateDate descending select x).FirstOrDefault();
|
| 642 |
if (subordinate != null) {
|
| 643 |
Subordinate = new List<double>();
|
| 644 |
+
for (int i = 0; i < NumCompetencies; i++)
|
| 645 |
+
{
|
| 646 |
+
var prop = subordinate.GetType().GetProperty($"Score{i + 1}");
|
| 647 |
+
decimal value = prop?.GetValue(subordinate) as decimal? ?? 0.0m;
|
| 648 |
+
|
| 649 |
+
Subordinate.Add(100.0d * Convert.ToDouble(value) / FullScore[i]);
|
| 650 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 651 |
}
|
| 652 |
|
| 653 |
} else { // post-test
|
|
|
|
| 655 |
var self = (from x in db.PostTestScore where x.TraineeId == TraineeId && x.EvaluatorId == 1 orderby x.CreateDate descending select x).FirstOrDefault();
|
| 656 |
if (self != null) {
|
| 657 |
Self = new List<double>();
|
| 658 |
+
for (int i = 0; i < NumCompetencies; i++)
|
| 659 |
+
{
|
| 660 |
+
var prop = self.GetType().GetProperty($"Score{i + 1}");
|
| 661 |
+
decimal value = prop?.GetValue(self) as decimal? ?? 0.0m;
|
| 662 |
+
|
| 663 |
+
Self.Add(100.0d * Convert.ToDouble(value) / FullScore[i]);
|
| 664 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 665 |
}
|
| 666 |
|
| 667 |
var boss = (from x in db.PostTestScore where x.TraineeId == TraineeId && x.EvaluatorId == 2 orderby x.CreateDate descending select x).FirstOrDefault();
|
| 668 |
if (boss != null) {
|
| 669 |
Boss = new List<double>();
|
| 670 |
+
for (int i = 0; i < NumCompetencies; i++)
|
| 671 |
+
{
|
| 672 |
+
var prop = boss.GetType().GetProperty($"Score{i + 1}");
|
| 673 |
+
decimal value = prop?.GetValue(boss) as decimal? ?? 0.0m;
|
| 674 |
+
|
| 675 |
+
Boss.Add(100.0d * Convert.ToDouble(value) / FullScore[i]);
|
| 676 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 677 |
}
|
| 678 |
|
| 679 |
var colleague = (from x in db.PostTestScore where x.TraineeId == TraineeId && x.EvaluatorId == 3 orderby x.CreateDate descending select x).FirstOrDefault();
|
| 680 |
if (colleague != null) {
|
| 681 |
Colleague = new List<double>();
|
| 682 |
+
for (int i = 0; i < NumCompetencies; i++)
|
| 683 |
+
{
|
| 684 |
+
var prop = colleague.GetType().GetProperty($"Score{i + 1}");
|
| 685 |
+
decimal value = prop?.GetValue(colleague) as decimal? ?? 0.0m;
|
| 686 |
+
|
| 687 |
+
Colleague.Add(100.0d * Convert.ToDouble(value) / FullScore[i]);
|
| 688 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 689 |
}
|
| 690 |
|
| 691 |
var subordinate = (from x in db.PostTestScore where x.TraineeId == TraineeId && x.EvaluatorId == 4 orderby x.CreateDate descending select x).FirstOrDefault();
|
| 692 |
if (subordinate != null) {
|
| 693 |
Subordinate = new List<double>();
|
| 694 |
+
for (int i = 0; i < NumCompetencies; i++)
|
| 695 |
+
{
|
| 696 |
+
var prop = subordinate.GetType().GetProperty($"Score{i + 1}");
|
| 697 |
+
decimal value = prop?.GetValue(subordinate) as decimal? ?? 0.0m;
|
| 698 |
+
|
| 699 |
+
Subordinate.Add(100.0d * Convert.ToDouble(value) / FullScore[i]);
|
| 700 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 701 |
}
|
| 702 |
}
|
| 703 |
|
|
|
|
| 711 |
var TrainId = db.Trainee.Find(TraineeId).TrainId;
|
| 712 |
var TestId = db.Train.Find(TrainId).TestId;
|
| 713 |
|
| 714 |
+
double[] FullScore = new double[NumCompetencies];
|
| 715 |
+
|
| 716 |
+
for (int i = 0; i < NumCompetencies; i++)
|
| 717 |
+
{
|
| 718 |
+
FullScore[i] = (double)Program.GetFullScoreByCompetency(TestId, (byte)(i + 1));
|
| 719 |
+
if (FullScore[i] == 0.0d)
|
| 720 |
+
FullScore[i] = 1.0d;
|
| 721 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 722 |
|
| 723 |
var pre = (from x in db.PreTestScore where x.TraineeId == TraineeId && x.EvaluatorId == EvaluatorId orderby x.CreateDate descending select x).FirstOrDefault();
|
| 724 |
if (pre != null) {
|
| 725 |
PreTest = new List<double>();
|
| 726 |
+
for (int i = 0; i < NumCompetencies; i++)
|
| 727 |
+
{
|
| 728 |
+
var prop = pre.GetType().GetProperty($"Score{i + 1}");
|
| 729 |
+
decimal value = prop?.GetValue(pre) as decimal? ?? 0.0m;
|
| 730 |
+
|
| 731 |
+
PreTest.Add(100.0d * Convert.ToDouble(value) / FullScore[i]);
|
| 732 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 733 |
}
|
| 734 |
|
| 735 |
var post = (from x in db.PostTestScore where x.TraineeId == TraineeId && x.EvaluatorId == EvaluatorId orderby x.CreateDate descending select x).FirstOrDefault();
|
| 736 |
if (post != null) {
|
| 737 |
PostTest = new List<double>();
|
| 738 |
+
for (int i = 0; i < NumCompetencies; i++)
|
| 739 |
+
{
|
| 740 |
+
var prop = post.GetType().GetProperty($"Score{i + 1}");
|
| 741 |
+
decimal value = prop?.GetValue(post) as decimal? ?? 0.0m;
|
| 742 |
+
|
| 743 |
+
PostTest.Add(100.0d * Convert.ToDouble(value) / FullScore[i]);
|
| 744 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 745 |
}
|
| 746 |
|
| 747 |
return;
|
| 748 |
}
|
| 749 |
|
| 750 |
+
public static List<double> MaxScore(uint TestId)
|
| 751 |
+
{
|
| 752 |
var db = new CompetencyAssessmentDbContext();
|
| 753 |
|
| 754 |
var test = db.Test.Find(TestId);
|
| 755 |
if (test == null) return null;
|
| 756 |
|
| 757 |
+
// initialize result list
|
| 758 |
+
var L = new List<double>(test.NumCompetencies);
|
| 759 |
+
for (int i = 0; i < test.NumCompetencies; i++)
|
| 760 |
+
L.Add(0.0d);
|
| 761 |
|
| 762 |
var items = from x in db.TestItem where x.TestId == TestId select x;
|
|
|
|
| 763 |
|
| 764 |
+
foreach (var item in items)
|
| 765 |
+
{
|
| 766 |
decimal max = 0.0m;
|
| 767 |
+
|
| 768 |
+
// loop Score1 .. Score10
|
| 769 |
+
for (int i = 0; i < 10; i++)
|
| 770 |
+
{
|
| 771 |
+
var prop = item.GetType().GetProperty($"Score{i + 1}");
|
| 772 |
+
decimal value = prop?.GetValue(item) as decimal? ?? 0.0m;
|
| 773 |
+
|
| 774 |
+
if (value > max)
|
| 775 |
+
max = value;
|
| 776 |
+
}
|
| 777 |
+
|
| 778 |
+
// CompetencyNo is 1-based
|
| 779 |
+
int idx = item.CompetencyNo - 1;
|
| 780 |
+
|
| 781 |
+
if (idx >= 0 && idx < L.Count)
|
| 782 |
+
L[idx] += (double)max;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 783 |
}
|
| 784 |
|
| 785 |
return L;
|
| 786 |
}
|
| 787 |
|
| 788 |
+
public static List<double> Threshold(uint TestId)
|
| 789 |
+
{
|
| 790 |
var db = new CompetencyAssessmentDbContext();
|
| 791 |
|
| 792 |
var test = db.Test.Find(TestId);
|
| 793 |
if (test == null) return null;
|
| 794 |
|
| 795 |
+
var L = new List<double>(test.NumCompetencies);
|
| 796 |
+
|
| 797 |
+
for (int i = 0; i < test.NumCompetencies; i++)
|
| 798 |
+
{
|
| 799 |
+
var prop = test.GetType().GetProperty($"Threshold{i + 1}");
|
| 800 |
+
decimal value = prop?.GetValue(test) as decimal? ?? 0.0m;
|
| 801 |
+
|
| 802 |
+
L.Add((double)value);
|
| 803 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 804 |
|
| 805 |
return L;
|
| 806 |
}
|
| 807 |
|
|
|
|
| 808 |
|
| 809 |
+
public static List<string> Recommendation(uint TestId)
|
| 810 |
+
{
|
| 811 |
var db = new CompetencyAssessmentDbContext();
|
| 812 |
|
| 813 |
var test = db.Test.Find(TestId);
|
| 814 |
if (test == null) return null;
|
| 815 |
|
| 816 |
+
var L = new List<string>(test.NumCompetencies);
|
| 817 |
|
| 818 |
+
for (int i = 0; i < test.NumCompetencies; i++)
|
| 819 |
+
{
|
| 820 |
+
var prop = test.GetType().GetProperty($"Recommendation{i + 1}");
|
| 821 |
+
string value = prop?.GetValue(test) as string ?? "";
|
| 822 |
+
|
| 823 |
+
L.Add(value);
|
| 824 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 825 |
|
| 826 |
return L;
|
| 827 |
}
|
| 828 |
|
| 829 |
+
|
| 830 |
public static string ScoreLevel(double x) {
|
| 831 |
|
| 832 |
/*
|