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 = "";
|
string outputFileName = "";
|
||||||
ecn = ecnDMO.GetECNPdf(ecnNumber);
|
ecn = ecnDMO.GetECNPdf(ecnNumber);
|
||||||
|
ViewBag.Category = ecnDMO.GetCategoryID(ecn);
|
||||||
|
ViewBag.TrainingNotificationTo = ecnDMO.GetTrainingNotificationTo(ecn, trainingDMO);
|
||||||
outputFileName = ecnNumber.ToString() + ".pdf";
|
outputFileName = ecnNumber.ToString() + ".pdf";
|
||||||
|
|
||||||
string ecnFolderPath = _AppSettings.AttachmentFolder + "ECN\\" + ecnNumber.ToString();
|
string ecnFolderPath = _AppSettings.AttachmentFolder + "ECN\\" + ecnNumber.ToString();
|
||||||
@ -910,6 +912,8 @@ public class ECNController : PdfViewController {
|
|||||||
string outputFileName = "";
|
string outputFileName = "";
|
||||||
|
|
||||||
ecn = ecnDMO.GetECNPdf(ecnNumber);
|
ecn = ecnDMO.GetECNPdf(ecnNumber);
|
||||||
|
ViewBag.Category = ecnDMO.GetCategoryID(ecn);
|
||||||
|
ViewBag.TrainingNotificationTo = ecnDMO.GetTrainingNotificationTo(ecn, trainingDMO);
|
||||||
outputFileName = ecnNumber.ToString() + ".pdf";
|
outputFileName = ecnNumber.ToString() + ".pdf";
|
||||||
|
|
||||||
string ecnFolderPath = _AppSettings.AttachmentFolder + "ECN\\" + folderName.ToString();
|
string ecnFolderPath = _AppSettings.AttachmentFolder + "ECN\\" + folderName.ToString();
|
||||||
@ -935,13 +939,15 @@ public class ECNController : PdfViewController {
|
|||||||
ECNPdf ecn;
|
ECNPdf ecn;
|
||||||
try {
|
try {
|
||||||
ecn = ecnDMO.GetECNPdf(ecnNumber);
|
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
|
// 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.
|
// requires the controller to be inherited from MyController instead of MVC's Controller.
|
||||||
return this.ViewPdf("", "ECNPdf", ecn);
|
return this.ViewPdf("", "ECNPdf", ecn);
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
EventLogDMO.Add(new WinEventLog() { IssueID = ecnNumber, UserID = @User.Identity.Name, DocumentType = "ECN", OperationType = "Print PDF", Comments = ex.Message });
|
EventLogDMO.Add(new WinEventLog() { IssueID = ecnNumber, UserID = @User.Identity.Name, DocumentType = "ECN", OperationType = "Print PDF", Comments = ex.Message });
|
||||||
ecn = null;
|
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> affectedAreas = multipleResultItems.Read<string>().ToList();
|
||||||
List<string> affectedTechnologies = multipleResultItems.Read<string>().ToList();
|
List<string> affectedTechnologies = multipleResultItems.Read<string>().ToList();
|
||||||
List<string> acknowledgementBy = 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();
|
List<string> productfamilies = multipleResultItems.Read<string>().ToList();
|
||||||
|
|
||||||
ecnItem.AffectedModules = string.Join(", ", modules);
|
ecnItem.AffectedModules = string.Join(", ", modules);
|
||||||
ecnItem.AffectedDepartments = string.Join(", ", departments);
|
ecnItem.AffectedDepartments = string.Join(", ", departments);
|
||||||
ecnItem.AffectedAreas = string.Join(",", affectedAreas);
|
ecnItem.AffectedAreas = string.Join(",", affectedAreas);
|
||||||
ecnItem.AffectedTechnologies = string.Join(",", affectedTechnologies);
|
ecnItem.AffectedTechnologies = string.Join(",", affectedTechnologies);
|
||||||
ecnItem.TrainingBy = string.Join(",", trainingBy);
|
|
||||||
ecnItem.AcknowledgementBy = string.Join(",", acknowledgementBy);
|
ecnItem.AcknowledgementBy = string.Join(",", acknowledgementBy);
|
||||||
ecnItem.AffectedProductFamilies = string.Join(",", productfamilies);
|
ecnItem.AffectedProductFamilies = string.Join(",", productfamilies);
|
||||||
|
|
||||||
@ -714,4 +717,26 @@ public class ECN_DMO {
|
|||||||
return r;
|
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 AffectedDepartments { get; set; }
|
||||||
public string AffectedAreas { get; set; }
|
public string AffectedAreas { get; set; }
|
||||||
public string AffectedTechnologies { get; set; }
|
public string AffectedTechnologies { get; set; }
|
||||||
public string TrainingBy { get; set; }
|
public List<int> TrainingByIDs { get; set; }
|
||||||
public string AcknowledgementBy { get; set; }
|
public string AcknowledgementBy { get; set; }
|
||||||
public bool IsECN { get; set; }
|
public bool IsECN { get; set; }
|
||||||
public bool IsTECN { get; set; }
|
public bool IsTECN { get; set; }
|
||||||
@ -79,6 +79,7 @@ public class ECNPdf {
|
|||||||
public int? ConvertedToNumber { get; set; }
|
public int? ConvertedToNumber { get; set; }
|
||||||
public int? ConvertedFromNumber { get; set; }
|
public int? ConvertedFromNumber { get; set; }
|
||||||
public int WorkFlowNumber { get; set; }
|
public int WorkFlowNumber { get; set; }
|
||||||
|
public int? CategoryID { get; set; }
|
||||||
public bool FIChangeRequired { get; set; }
|
public bool FIChangeRequired { get; set; }
|
||||||
public string NumberOfLotsAffected { get; set; }
|
public string NumberOfLotsAffected { get; set; }
|
||||||
public string RecipeChange { get; set; }
|
public string RecipeChange { get; set; }
|
||||||
@ -87,6 +88,7 @@ public class ECNPdf {
|
|||||||
public ECNPdf() {
|
public ECNPdf() {
|
||||||
Approvalog = new List<ECNApprovalLog>();
|
Approvalog = new List<ECNApprovalLog>();
|
||||||
Attachments = new List<string>();
|
Attachments = new List<string>();
|
||||||
|
TrainingByIDs = new List<int>();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -30,11 +30,11 @@
|
|||||||
}
|
}
|
||||||
@if (@Model.ConvertedFromNumber == null && @Model.ConvertedToNumber == null)
|
@if (@Model.ConvertedFromNumber == null && @Model.ConvertedToNumber == null)
|
||||||
{
|
{
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
ECN# @Model.ECNNumber
|
ECN# @Model.ECNNumber
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
}
|
}
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
@ -63,14 +63,14 @@
|
|||||||
<td>
|
<td>
|
||||||
<table border="0">
|
<table border="0">
|
||||||
@*<tr>
|
@*<tr>
|
||||||
<td>
|
<td>
|
||||||
<font size="2">
|
<font size="2">
|
||||||
Affected Department:
|
Affected Department:
|
||||||
</font>
|
</font>
|
||||||
<font size="1">
|
<font size="1">
|
||||||
@Model.AffectedDepartments
|
@Model.AffectedDepartments
|
||||||
</font>
|
</font>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
</tr>*@
|
</tr>*@
|
||||||
<tr>
|
<tr>
|
||||||
@ -84,6 +84,16 @@
|
|||||||
</font>
|
</font>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<font size="2">
|
||||||
|
Category:
|
||||||
|
</font>
|
||||||
|
<font size="1">
|
||||||
|
@(ViewBag.Category)
|
||||||
|
</font>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<font size="2">
|
<font size="2">
|
||||||
@ -224,7 +234,7 @@
|
|||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<table border="1" >
|
<table border="1">
|
||||||
<tr bgcolor="#c4baba" color="#000000">
|
<tr bgcolor="#c4baba" color="#000000">
|
||||||
<td> Description of Change</td>
|
<td> Description of Change</td>
|
||||||
<td> Reason for Change</td>
|
<td> Reason for Change</td>
|
||||||
@ -245,33 +255,33 @@
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@*<tr>
|
@*<tr>
|
||||||
<td>
|
<td>
|
||||||
|
|
||||||
<table border="1">
|
<table border="1">
|
||||||
<tr bgcolor="#c4baba" color="#000000">
|
<tr bgcolor="#c4baba" color="#000000">
|
||||||
<td colspan="3">Training Notification</td>
|
<td colspan="3">Training Notification</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<table border="0">
|
<table border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<font size="1">
|
<font size="1">
|
||||||
Training:
|
Training:
|
||||||
@(Model.TrainingRequired ? "Yes" : "No")
|
@(Model.TrainingRequired ? "Yes" : "No")
|
||||||
</font>
|
</font>
|
||||||
|
|
||||||
<font size="1">
|
<font size="1">
|
||||||
@(Model.TrainingBy.Length > 0 ? "(" + Model.TrainingBy + ")" : Model.TrainingBy)
|
@(Model.TrainingBy.Length > 0 ? "(" + Model.TrainingBy + ")" : Model.TrainingBy)
|
||||||
</font>
|
</font>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
</tr>*@
|
</tr>*@
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
@ -286,7 +296,7 @@
|
|||||||
PCRB:
|
PCRB:
|
||||||
</font>
|
</font>
|
||||||
<font size="1">
|
<font size="1">
|
||||||
@(Model.PCRBRequired ? "Yes": "No")
|
@(Model.PCRBRequired ? "Yes" : "No")
|
||||||
</font>
|
</font>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
@ -300,7 +310,7 @@
|
|||||||
Metrology Change:
|
Metrology Change:
|
||||||
</font>
|
</font>
|
||||||
<font size="1">
|
<font size="1">
|
||||||
@(Model.MetrologyChangeRequired ? "Yes": "No")
|
@(Model.MetrologyChangeRequired ? "Yes" : "No")
|
||||||
</font>
|
</font>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
@ -308,7 +318,7 @@
|
|||||||
SPC Change:
|
SPC Change:
|
||||||
</font>
|
</font>
|
||||||
<font size="1">
|
<font size="1">
|
||||||
@(Model.SPCChangeRequired ? "Yes": "No")
|
@(Model.SPCChangeRequired ? "Yes" : "No")
|
||||||
</font>
|
</font>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
@ -316,7 +326,7 @@
|
|||||||
FI Change:
|
FI Change:
|
||||||
</font>
|
</font>
|
||||||
<font size="1">
|
<font size="1">
|
||||||
@(Model.FIChangeRequired ? "Yes" : "No")
|
@(Model.FIChangeRequired ? "Yes" : "No")
|
||||||
</font>
|
</font>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
@ -327,7 +337,35 @@
|
|||||||
@(Model.SPNChangeRequired ? "Yes" : "No")
|
@(Model.SPNChangeRequired ? "Yes" : "No")
|
||||||
</font>
|
</font>
|
||||||
</td>
|
</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>
|
</tr>
|
||||||
|
|
||||||
</table>
|
</table>
|
||||||
@ -369,7 +407,7 @@
|
|||||||
<td>
|
<td>
|
||||||
<font size="1">
|
<font size="1">
|
||||||
@Html.Raw(@Model.ImpactOnEnvironmentDescription)
|
@Html.Raw(@Model.ImpactOnEnvironmentDescription)
|
||||||
</font>
|
</font>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
@ -390,23 +428,23 @@
|
|||||||
<td>
|
<td>
|
||||||
<font size="1">
|
<font size="1">
|
||||||
@Html.Raw(@Model.ImpactOnCapacityDescription)
|
@Html.Raw(@Model.ImpactOnCapacityDescription)
|
||||||
</font>
|
</font>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
@*<table border="0">
|
@*<table border="0">
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<font size="2">
|
<font size="2">
|
||||||
RH(ITAR):
|
RH(ITAR):
|
||||||
</font>
|
</font>
|
||||||
<font size="1">
|
<font size="1">
|
||||||
@(Model.IsRH ? "Yes" : "No")
|
@(Model.IsRH ? "Yes" : "No")
|
||||||
</font>
|
</font>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>*@
|
</table>*@
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user