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 += "Name | Date Assigned |
";
+ 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 += "" + assignment.FullName + " | " + DateAssigned + " | ";
+
+ trainingSection += "
";
+ }
+ }
+ trainingSection += "
";
+ 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())
{