Created OOO training report

This commit is contained in:
Chase Tucker 2023-09-05 15:04:47 -07:00
parent 6ea927045f
commit ffb93209e6
2 changed files with 71 additions and 0 deletions

View File

@ -762,6 +762,68 @@ namespace Fab2ApprovalSystem.Controllers
}
return isSuccess;
}
public bool RunOOOTrainingReport()
{
bool isSuccess = false;
try
{
string emailBody = "<h1>Mesa Approval Open Training Assignments Report - OOO</h1> <br />";
emailBody += "<p>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.</p><br />";
emailBody += "<style>table,th,td{border: 1px solid black;}</style>";
//Get all users set up to receive the training report email.
List<TrainingReportUser> trainingReportUsers = adminDMO.GetTrainingReportUsers();
List<string> emailList = new List<string>();
//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<Training> openTrainings = trainingDMO.GetAllOpenTrainings();
foreach (Training training in openTrainings)
{
string trainingSection = "";
int trainingSectionUserCount = 0;
string ecnTitle = ecnDMO.GetECN(training.ECN).Title;
trainingSection += "<h3>" + training.ECN + " - " + ecnTitle + "</h3>";
trainingSection += "<table>";
trainingSection += "<tr><th>Name</th><th>Date Assigned</th></tr>";
List<TrainingAssignment> 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") : "<not available>";
trainingSection += "<tr><td>" + assignment.FullName + "</td><td>" + DateAssigned + "</td>";
trainingSection += "</tr>";
}
}
trainingSection += "</table>";
if (trainingSectionUserCount > 0) emailBody += trainingSection;
}
string recipientEmail = "";
List<string> 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;
}
}
}

View File

@ -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())
{