diff --git a/Fab2ApprovalSystem/DMO/TrainingDMO.cs b/Fab2ApprovalSystem/DMO/TrainingDMO.cs index c07b437..b6ae55a 100644 --- a/Fab2ApprovalSystem/DMO/TrainingDMO.cs +++ b/Fab2ApprovalSystem/DMO/TrainingDMO.cs @@ -154,18 +154,7 @@ namespace Fab2ApprovalSystem.DMO FabApprovalTrainingEntities db = new FabApprovalTrainingEntities(); var TrainingData = from a in db.TrainingAssignments where a.TrainingID == TrainingID select a; - bool assignmentIsIncomplete = false; - UserAccountDMO userAccountDMO = new UserAccountDMO(); - foreach (TrainingAssignment assignment in TrainingData) - { - LoginModel userModel = userAccountDMO.GetUserByID(assignment.UserID); - if (!userModel.IsActive) UpdateAssignmentStatus(assignment.ID); - if (assignment.Deleted != true && (assignment.DateCompleted is null || assignment.DateCompleted > DateTime.Now)) - assignmentIsIncomplete = true; - } - - if (!assignmentIsIncomplete) - UpdateTrainingStatus(TrainingID); + RefreshTrainingData(TrainingID, TrainingData); TrainingData = from a in db.TrainingAssignments where a.TrainingID == TrainingID select a; @@ -176,18 +165,7 @@ namespace Fab2ApprovalSystem.DMO FabApprovalTrainingEntities db = new FabApprovalTrainingEntities(); var TrainingData = from a in db.TrainingAssignments where a.TrainingID == TrainingID && a.Deleted != true select a; - bool assignmentIsIncomplete = false; - UserAccountDMO userAccountDMO = new UserAccountDMO(); - foreach (TrainingAssignment assignment in TrainingData) - { - LoginModel userModel = userAccountDMO.GetUserByID(assignment.UserID); - if (!userModel.IsActive) UpdateAssignmentStatus(assignment.ID); - if (assignment.Deleted != true && (assignment.DateCompleted is null || assignment.DateCompleted > DateTime.Now)) - assignmentIsIncomplete = true; - } - - if (!assignmentIsIncomplete) - UpdateTrainingStatus(TrainingID); + RefreshTrainingData(TrainingID, TrainingData); TrainingData = from a in db.TrainingAssignments where a.TrainingID == TrainingID select a; @@ -482,5 +460,20 @@ namespace Fab2ApprovalSystem.DMO return openAssignments; } + private void RefreshTrainingData(int TrainingID, IQueryable TrainingData) + { + bool assignmentIsIncomplete = false; + UserAccountDMO userAccountDMO = new UserAccountDMO(); + foreach (TrainingAssignment assignment in TrainingData) + { + LoginModel userModel = userAccountDMO.GetUserByID(assignment.UserID); + if (!userModel.IsActive) UpdateAssignmentStatus(assignment.ID); + if (assignment.Deleted != true && (assignment.DateCompleted is null || assignment.DateCompleted > DateTime.Now)) + assignmentIsIncomplete = true; + } + + if (!assignmentIsIncomplete) + UpdateTrainingStatus(TrainingID); + } } }