Merged PR 16782: Added logic to display Category and Training Notification fields on PDF
Added logic to display Category and Training Notification fields on PDF Related work items: #135474, #225483
This commit is contained in:
parent
032c971472
commit
8bae94de96
@ -883,6 +883,8 @@ public class ECNController : PdfViewController {
|
||||
|
||||
string outputFileName = "";
|
||||
ecn = ecnDMO.GetECNPdf(ecnNumber);
|
||||
ViewBag.Category = ecnDMO.GetCategoryID(ecn);
|
||||
ViewBag.TrainingNotificationTo = ecnDMO.GetTrainingNotificationTo(ecn, trainingDMO);
|
||||
outputFileName = ecnNumber.ToString() + ".pdf";
|
||||
|
||||
string ecnFolderPath = _AppSettings.AttachmentFolder + "ECN\\" + ecnNumber.ToString();
|
||||
@ -910,6 +912,8 @@ public class ECNController : PdfViewController {
|
||||
string outputFileName = "";
|
||||
|
||||
ecn = ecnDMO.GetECNPdf(ecnNumber);
|
||||
ViewBag.Category = ecnDMO.GetCategoryID(ecn);
|
||||
ViewBag.TrainingNotificationTo = ecnDMO.GetTrainingNotificationTo(ecn, trainingDMO);
|
||||
outputFileName = ecnNumber.ToString() + ".pdf";
|
||||
|
||||
string ecnFolderPath = _AppSettings.AttachmentFolder + "ECN\\" + folderName.ToString();
|
||||
@ -935,13 +939,15 @@ public class ECNController : PdfViewController {
|
||||
ECNPdf ecn;
|
||||
try {
|
||||
ecn = ecnDMO.GetECNPdf(ecnNumber);
|
||||
ViewBag.Category = ecnDMO.GetCategoryID(ecn);
|
||||
ViewBag.TrainingNotificationTo = ecnDMO.GetTrainingNotificationTo(ecn, trainingDMO);
|
||||
// To render a PDF instead of an HTML, all we need to do is call ViewPdf instead of View. This
|
||||
// requires the controller to be inherited from MyController instead of MVC's Controller.
|
||||
return this.ViewPdf("", "ECNPdf", ecn);
|
||||
} catch (Exception ex) {
|
||||
EventLogDMO.Add(new WinEventLog() { IssueID = ecnNumber, UserID = @User.Identity.Name, DocumentType = "ECN", OperationType = "Print PDF", Comments = ex.Message });
|
||||
ecn = null;
|
||||
return Content("");
|
||||
return Content("An unexpected error has occurred!");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -356,14 +356,17 @@ public class ECN_DMO {
|
||||
List<string> affectedAreas = multipleResultItems.Read<string>().ToList();
|
||||
List<string> affectedTechnologies = multipleResultItems.Read<string>().ToList();
|
||||
List<string> acknowledgementBy = multipleResultItems.Read<string>().ToList();
|
||||
List<string> trainingBy = multipleResultItems.Read<string>().ToList();
|
||||
List<int> trainingby = multipleResultItems.Read<int>().ToList();
|
||||
if (ecnItem != null && trainingby != null) {
|
||||
if (trainingby.Count > 0)
|
||||
ecnItem.TrainingByIDs.AddRange(trainingby);
|
||||
}
|
||||
List<string> productfamilies = multipleResultItems.Read<string>().ToList();
|
||||
|
||||
ecnItem.AffectedModules = string.Join(", ", modules);
|
||||
ecnItem.AffectedDepartments = string.Join(", ", departments);
|
||||
ecnItem.AffectedAreas = string.Join(",", affectedAreas);
|
||||
ecnItem.AffectedTechnologies = string.Join(",", affectedTechnologies);
|
||||
ecnItem.TrainingBy = string.Join(",", trainingBy);
|
||||
ecnItem.AcknowledgementBy = string.Join(",", acknowledgementBy);
|
||||
ecnItem.AffectedProductFamilies = string.Join(",", productfamilies);
|
||||
|
||||
@ -714,4 +717,26 @@ public class ECN_DMO {
|
||||
return r;
|
||||
}
|
||||
|
||||
internal string GetCategoryID(ECNPdf ecn) {
|
||||
string result;
|
||||
if (ecn.CategoryID is null) {
|
||||
result = string.Empty;
|
||||
} else {
|
||||
List<ECNCategory> categories = GetCategories();
|
||||
result = (from l in categories where l.CategoryID == ecn.CategoryID.Value select l.CategoryName).FirstOrDefault();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
internal string GetTrainingNotificationTo(ECNPdf ecn, TrainingDMO trainingDMO) {
|
||||
string result;
|
||||
if (ecn.TrainingByIDs is null) {
|
||||
result = string.Empty;
|
||||
} else {
|
||||
List<TrainingGroup> trainingGroups = trainingDMO.GetTrainingGroups();
|
||||
result = string.Join(", ", (from l in trainingGroups where ecn.TrainingByIDs.Contains(l.TrainingGroupID) select l.TrainingGroupName).ToArray());
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
@ -30,7 +30,7 @@ public class ECNPdf {
|
||||
public string AffectedDepartments { get; set; }
|
||||
public string AffectedAreas { get; set; }
|
||||
public string AffectedTechnologies { get; set; }
|
||||
public string TrainingBy { get; set; }
|
||||
public List<int> TrainingByIDs { get; set; }
|
||||
public string AcknowledgementBy { get; set; }
|
||||
public bool IsECN { get; set; }
|
||||
public bool IsTECN { get; set; }
|
||||
@ -79,6 +79,7 @@ public class ECNPdf {
|
||||
public int? ConvertedToNumber { get; set; }
|
||||
public int? ConvertedFromNumber { get; set; }
|
||||
public int WorkFlowNumber { get; set; }
|
||||
public int? CategoryID { get; set; }
|
||||
public bool FIChangeRequired { get; set; }
|
||||
public string NumberOfLotsAffected { get; set; }
|
||||
public string RecipeChange { get; set; }
|
||||
@ -87,6 +88,7 @@ public class ECNPdf {
|
||||
public ECNPdf() {
|
||||
Approvalog = new List<ECNApprovalLog>();
|
||||
Attachments = new List<string>();
|
||||
TrainingByIDs = new List<int>();
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -29,12 +29,12 @@
|
||||
</tr>
|
||||
}
|
||||
@if (@Model.ConvertedFromNumber == null && @Model.ConvertedToNumber == null)
|
||||
{
|
||||
<tr>
|
||||
<td>
|
||||
ECN# @Model.ECNNumber
|
||||
</td>
|
||||
</tr>
|
||||
{
|
||||
<tr>
|
||||
<td>
|
||||
ECN# @Model.ECNNumber
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
|
||||
<tr>
|
||||
@ -57,20 +57,20 @@
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
</table>
|
||||
</td>
|
||||
<td>
|
||||
<table border="0">
|
||||
@*<tr>
|
||||
<td>
|
||||
<font size="2">
|
||||
Affected Department:
|
||||
</font>
|
||||
<font size="1">
|
||||
@Model.AffectedDepartments
|
||||
</font>
|
||||
</td>
|
||||
<td>
|
||||
<font size="2">
|
||||
Affected Department:
|
||||
</font>
|
||||
<font size="1">
|
||||
@Model.AffectedDepartments
|
||||
</font>
|
||||
</td>
|
||||
|
||||
</tr>*@
|
||||
<tr>
|
||||
@ -84,6 +84,16 @@
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<font size="2">
|
||||
Category:
|
||||
</font>
|
||||
<font size="1">
|
||||
@(ViewBag.Category)
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<font size="2">
|
||||
@ -97,11 +107,11 @@
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<table border="1">
|
||||
@ -141,7 +151,7 @@
|
||||
Expiration Date:
|
||||
</font>
|
||||
<font size="1">
|
||||
|
||||
|
||||
@Convert.ToString(string.Format("{0:MM/dd/yyyy}", Model.ExpirationDate))
|
||||
</font>
|
||||
</td>
|
||||
@ -150,7 +160,7 @@
|
||||
Extension Date:
|
||||
</font>
|
||||
<font size="1">
|
||||
|
||||
|
||||
@Convert.ToString(string.Format("{0:MM/dd/yyyy}", @Model.ExtensionDate))
|
||||
</font>
|
||||
</td>
|
||||
@ -191,7 +201,7 @@
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table border="0">
|
||||
@ -216,15 +226,15 @@
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
|
||||
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<table border="1" >
|
||||
<table border="1">
|
||||
<tr bgcolor="#c4baba" color="#000000">
|
||||
<td> Description of Change</td>
|
||||
<td> Reason for Change</td>
|
||||
@ -245,33 +255,33 @@
|
||||
</td>
|
||||
</tr>
|
||||
@*<tr>
|
||||
<td>
|
||||
<td>
|
||||
|
||||
<table border="1">
|
||||
<tr bgcolor="#c4baba" color="#000000">
|
||||
<td colspan="3">Training Notification</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table border="0">
|
||||
<tr>
|
||||
<td>
|
||||
<font size="1">
|
||||
Training:
|
||||
@(Model.TrainingRequired ? "Yes" : "No")
|
||||
</font>
|
||||
|
||||
<font size="1">
|
||||
@(Model.TrainingBy.Length > 0 ? "(" + Model.TrainingBy + ")" : Model.TrainingBy)
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table border="1">
|
||||
<tr bgcolor="#c4baba" color="#000000">
|
||||
<td colspan="3">Training Notification</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<table border="0">
|
||||
<tr>
|
||||
<td>
|
||||
<font size="1">
|
||||
Training:
|
||||
@(Model.TrainingRequired ? "Yes" : "No")
|
||||
</font>
|
||||
|
||||
</td>
|
||||
<font size="1">
|
||||
@(Model.TrainingBy.Length > 0 ? "(" + Model.TrainingBy + ")" : Model.TrainingBy)
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</td>
|
||||
</tr>*@
|
||||
<tr>
|
||||
<td>
|
||||
@ -286,7 +296,7 @@
|
||||
PCRB:
|
||||
</font>
|
||||
<font size="1">
|
||||
@(Model.PCRBRequired ? "Yes": "No")
|
||||
@(Model.PCRBRequired ? "Yes" : "No")
|
||||
</font>
|
||||
</td>
|
||||
<td>
|
||||
@ -300,7 +310,7 @@
|
||||
Metrology Change:
|
||||
</font>
|
||||
<font size="1">
|
||||
@(Model.MetrologyChangeRequired ? "Yes": "No")
|
||||
@(Model.MetrologyChangeRequired ? "Yes" : "No")
|
||||
</font>
|
||||
</td>
|
||||
<td>
|
||||
@ -308,7 +318,7 @@
|
||||
SPC Change:
|
||||
</font>
|
||||
<font size="1">
|
||||
@(Model.SPCChangeRequired ? "Yes": "No")
|
||||
@(Model.SPCChangeRequired ? "Yes" : "No")
|
||||
</font>
|
||||
</td>
|
||||
<td>
|
||||
@ -316,7 +326,7 @@
|
||||
FI Change:
|
||||
</font>
|
||||
<font size="1">
|
||||
@(Model.FIChangeRequired ? "Yes" : "No")
|
||||
@(Model.FIChangeRequired ? "Yes" : "No")
|
||||
</font>
|
||||
</td>
|
||||
<td>
|
||||
@ -327,9 +337,37 @@
|
||||
@(Model.SPNChangeRequired ? "Yes" : "No")
|
||||
</font>
|
||||
</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
|
||||
</table>
|
||||
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
|
||||
<table border="1">
|
||||
<tr bgcolor="#c4baba" color="#000000">
|
||||
<td colspan="5">Training Notification</td>
|
||||
</tr>
|
||||
<tr style="display:block;">
|
||||
<td>
|
||||
<font size="2">
|
||||
Training:
|
||||
</font>
|
||||
<font size="1">
|
||||
@(Model.TrainingRequired ? "Yes" : "No")
|
||||
</font>
|
||||
</td>
|
||||
<td>
|
||||
<font size="2">
|
||||
Training Notification to:
|
||||
@(ViewBag.TrainingNotificationTo)
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
|
||||
|
||||
@ -355,11 +393,11 @@
|
||||
@: Positive
|
||||
}
|
||||
else if (Model.ImpactOnEnvironment == 2)
|
||||
{
|
||||
{
|
||||
@: Negative
|
||||
}
|
||||
else
|
||||
{
|
||||
{
|
||||
@: N/A
|
||||
}
|
||||
</font>
|
||||
@ -369,7 +407,7 @@
|
||||
<td>
|
||||
<font size="1">
|
||||
@Html.Raw(@Model.ImpactOnEnvironmentDescription)
|
||||
</font>
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@ -390,23 +428,23 @@
|
||||
<td>
|
||||
<font size="1">
|
||||
@Html.Raw(@Model.ImpactOnCapacityDescription)
|
||||
</font>
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td>
|
||||
@*<table border="0">
|
||||
<tr>
|
||||
<td>
|
||||
<font size="2">
|
||||
RH(ITAR):
|
||||
</font>
|
||||
<font size="1">
|
||||
@(Model.IsRH ? "Yes" : "No")
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<font size="2">
|
||||
RH(ITAR):
|
||||
</font>
|
||||
<font size="1">
|
||||
@(Model.IsRH ? "Yes" : "No")
|
||||
</font>
|
||||
</td>
|
||||
</tr>
|
||||
</table>*@
|
||||
</td>
|
||||
<td>
|
||||
@ -483,15 +521,15 @@
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
|
||||
</table> <!--main table -->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user