diff --git a/Fab2ApprovalSystem/Controllers/TrainingController.cs b/Fab2ApprovalSystem/Controllers/TrainingController.cs index 4a30b4a..459cce6 100644 --- a/Fab2ApprovalSystem/Controllers/TrainingController.cs +++ b/Fab2ApprovalSystem/Controllers/TrainingController.cs @@ -762,6 +762,68 @@ namespace Fab2ApprovalSystem.Controllers } return isSuccess; } + + public bool RunOOOTrainingReport() + { + bool isSuccess = false; + try + { + string emailBody = "

Mesa Approval Open Training Assignments Report - OOO


"; + emailBody += "

The following contains open training assignments in the Mesa Approval system for out of office users."; + emailBody += " Please ensure they complete their training assignments promptly upon their return.


"; + emailBody += ""; + //Get all users set up to receive the training report email. + List trainingReportUsers = adminDMO.GetTrainingReportUsers(); + List emailList = new List(); + //foreach (var user in trainingReportUsers) + //{ + // string userEmail = userDMO.GetUserByID(user.UserId).Email; + // emailList.Add(userEmail); + //} + emailList.Add("Chase.Tucker@infineon.com"); + //Get a list of open trainings + List openTrainings = trainingDMO.GetAllOpenTrainings(); + + foreach (Training training in openTrainings) + { + string trainingSection = ""; + int trainingSectionUserCount = 0; + string ecnTitle = ecnDMO.GetECN(training.ECN).Title; + trainingSection += "

" + training.ECN + " - " + ecnTitle + "

"; + + trainingSection += ""; + trainingSection += ""; + List openAssignments = trainingDMO.GetOpenAssignmentsByTrainingID(training.TrainingID); + foreach (TrainingAssignment assignment in openAssignments) + { + + if (userDMO.GetUserByID(assignment.UserID).OOO) + { + trainingSectionUserCount++; + + DateTime? assignmentDate = assignment.DateAssigned; + + string DateAssigned = assignmentDate.HasValue ? assignmentDate.Value.ToString("MM/dd/yyyy") : ""; + + trainingSection += ""; + + trainingSection += ""; + } + } + trainingSection += "
NameDate Assigned
" + assignment.FullName + "" + DateAssigned + "
"; + if (trainingSectionUserCount > 0) emailBody += trainingSection; + } + string recipientEmail = ""; + List ccRecipients = emailList; + emailer.SendNotification("MesaFabApproval@infineon.com", ccRecipients, "Mesa Approval Open Training Report - OOO", emailBody, "Open Training Report - OOO"); + isSuccess = true; + } + catch + { + isSuccess = false; + } + return isSuccess; + } } } diff --git a/Fab2ApprovalSystem/Controllers/WebAPIController.cs b/Fab2ApprovalSystem/Controllers/WebAPIController.cs index dec2786..37dac3b 100644 --- a/Fab2ApprovalSystem/Controllers/WebAPIController.cs +++ b/Fab2ApprovalSystem/Controllers/WebAPIController.cs @@ -45,6 +45,15 @@ namespace Fab2ApprovalSystem.Controllers { return request.CreateResponse(HttpStatusCode.InternalServerError); } + case "TrainingReportOOO": + if (trainingFunctions.RunOOOTrainingReport()) + { + return request.CreateResponse(HttpStatusCode.OK); + } + else + { + return request.CreateResponse(HttpStatusCode.InternalServerError); + } case "CARDueDates": if (carFunctions.ProcessCARDueDates()) {