Compare commits
	
		
			2 Commits
		
	
	
		
			b99b721458
			...
			1b22ffa439
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 1b22ffa439 | |||
| 123bbdb9fe | 
							
								
								
									
										12
									
								
								Fab2ApprovalMKLink/.vscode/mklink.md
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										12
									
								
								Fab2ApprovalMKLink/.vscode/mklink.md
									
									
									
									
										vendored
									
									
								
							| @ -35,3 +35,15 @@ mklink /J "L:\DevOps\Mesa_FI\MesaFabApproval\Fab2ApprovalMKLink\PdfGenerator" "L | |||||||
| mklink /J "L:\DevOps\Mesa_FI\MesaFabApproval\Fab2ApprovalMKLink\Jobs" "L:\DevOps\Mesa_FI\MesaFabApproval\Fab2ApprovalSystem\Jobs" | mklink /J "L:\DevOps\Mesa_FI\MesaFabApproval\Fab2ApprovalMKLink\Jobs" "L:\DevOps\Mesa_FI\MesaFabApproval\Fab2ApprovalSystem\Jobs" | ||||||
| mklink /J "L:\DevOps\Mesa_FI\MesaFabApproval\Fab2ApprovalMKLink\JobSchedules" "L:\DevOps\Mesa_FI\MesaFabApproval\Fab2ApprovalSystem\JobSchedules" | mklink /J "L:\DevOps\Mesa_FI\MesaFabApproval\Fab2ApprovalMKLink\JobSchedules" "L:\DevOps\Mesa_FI\MesaFabApproval\Fab2ApprovalSystem\JobSchedules" | ||||||
| ``` | ``` | ||||||
|  |  | ||||||
|  | ```bash 1734015544321 = 638696123443210000 = Thu Dec 12 2024 07:59:03 GMT-0700 (Mountain Standard Time) | ||||||
|  | mklink /J ".vscode\.UserSecrets" "%AppData%\Microsoft\UserSecrets\f2da5035-aba9-4676-9f8d-d6689f84663d" | ||||||
|  | mklink /J "DMO" "..\Fab2ApprovalSystem\DMO" | ||||||
|  | mklink /J "Jobs" "..\Fab2ApprovalSystem\Jobs" | ||||||
|  | mklink /J "JobSchedules" "..\Fab2ApprovalSystem\JobSchedules" | ||||||
|  | mklink /J "Misc" "..\Fab2ApprovalSystem\Misc" | ||||||
|  | mklink /J "Models" "..\Fab2ApprovalSystem\Models" | ||||||
|  | mklink /J "PdfGenerator" "..\Fab2ApprovalSystem\PdfGenerator" | ||||||
|  | mklink /J "Utilities" "..\Fab2ApprovalSystem\Utilities" | ||||||
|  | mklink /J "ViewModels" "..\Fab2ApprovalSystem\ViewModels" | ||||||
|  | ``` | ||||||
|  | |||||||
| @ -48,60 +48,27 @@ public class ChangeControlController : Controller { | |||||||
|     } |     } | ||||||
|  |  | ||||||
|     public ActionResult Edit(int issueID) { |     public ActionResult Edit(int issueID) { | ||||||
|         int isITARCompliant = 1; |         string jwt = Session["JWT"].ToString(); | ||||||
|         ChangeControlViewModel cc = new ChangeControlViewModel(); |         string encodedJwt = System.Net.WebUtility.UrlEncode(jwt); | ||||||
|         cc = ccDMO.GetChangeControlRead(issueID, out isITARCompliant, (int)Session[GlobalVars.SESSION_USERID]); |         string refreshToken = Session["RefreshToken"].ToString(); | ||||||
|  |         string encodedRefreshToken = System.Net.WebUtility.UrlEncode(refreshToken); | ||||||
|  |         string wasmClientUrl = Environment.GetEnvironmentVariable("FabApprovalWasmClientUrl") ?? | ||||||
|  |             "https://localhost:7255"; | ||||||
|  |         string mrbUrl = $"{wasmClientUrl}/redirect?jwt={encodedJwt}&refreshToken={encodedRefreshToken}&redirectPath=/pcrb/{issueID}"; | ||||||
|  |  | ||||||
|         List<ApproversListViewModel> userList = MiscDMO.GetApproversListByDocument(cc.PlanNumber, cc.CurrentStep, (int)GlobalVars.DocumentType.ChangeControl); |         return Redirect(mrbUrl); | ||||||
|         ApproversListViewModel appUser = userList.Find(delegate (ApproversListViewModel al) { return al.UserID == (int)Session[GlobalVars.SESSION_USERID]; }); |  | ||||||
|         if (appUser != null) { |  | ||||||
|             ViewBag.IsApprover = "true"; |  | ||||||
|         } |  | ||||||
|         // TODO locked functionality |  | ||||||
|  |  | ||||||
|         if (isITARCompliant == 0) // not ITAR Compliant |  | ||||||
|         { |  | ||||||
|             return View("UnAuthorizedAccess"); |  | ||||||
|         } else { |  | ||||||
|             if ((int)Session[GlobalVars.SESSION_USERID] == cc.OwnerID) |  | ||||||
|                 ViewBag.IsOriginator = "true"; |  | ||||||
|             else |  | ||||||
|                 ViewBag.IsOriginator = "false"; |  | ||||||
|  |  | ||||||
|             if ((cc.RecordLockIndicator && cc.RecordLockedBy != (int)Session[GlobalVars.SESSION_USERID]) || |  | ||||||
|                 cc.ClosedDate != null) { |  | ||||||
|                 return RedirectToAction("ReadOnlyCC", new { issueID = issueID }); |  | ||||||
|             } else { |  | ||||||
|                 cc = ccDMO.GetChangeControl(issueID, out isITARCompliant, (int)Session[GlobalVars.SESSION_USERID]); |  | ||||||
|                 ViewBag.Attendees = ccDMO.GetUsers(); |  | ||||||
|                 ViewBag.Generations = ccDMO.GetGenerations(); |  | ||||||
|                 ViewBag.PartNumbers = ccDMO.GetPartNumbers(); |  | ||||||
|                 ViewBag.Processes = ccDMO.GetProcesses(); |  | ||||||
|                 ViewBag.Logistics = ccDMO.GetLogistics(); |  | ||||||
|                 ViewBag.AIResponsibles = ccDMO.GetActionItemResponsible(); |  | ||||||
|                 ViewBag.Sites = ccDMO.GetSites(); |  | ||||||
|                 return View(cc); |  | ||||||
|             } |  | ||||||
|         } |  | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     public ActionResult ReadOnlyCC(int issueID) { |     public ActionResult ReadOnlyCC(int issueID) { | ||||||
|         int isITARCompliant = 1; |         string jwt = Session["JWT"].ToString(); | ||||||
|         ChangeControlViewModel cc = new ChangeControlViewModel(); |         string encodedJwt = System.Net.WebUtility.UrlEncode(jwt); | ||||||
|         cc = ccDMO.GetChangeControlRead(issueID, out isITARCompliant, (int)Session[GlobalVars.SESSION_USERID]); |         string refreshToken = Session["RefreshToken"].ToString(); | ||||||
|         // TODO locked functionality |         string encodedRefreshToken = System.Net.WebUtility.UrlEncode(refreshToken); | ||||||
|  |         string wasmClientUrl = Environment.GetEnvironmentVariable("FabApprovalWasmClientUrl") ?? | ||||||
|  |             "https://localhost:7255"; | ||||||
|  |         string mrbUrl = $"{wasmClientUrl}/redirect?jwt={encodedJwt}&refreshToken={encodedRefreshToken}&redirectPath=/pcrb/{issueID}"; | ||||||
|  |  | ||||||
|         if (isITARCompliant == 0) // not ITAR Compliant |         return Redirect(mrbUrl); | ||||||
|         { |  | ||||||
|             return View("UnAuthorizedAccess"); |  | ||||||
|         } else { |  | ||||||
|             ViewBag.MeetingList = ccDMO.GetMeetingList(issueID); |  | ||||||
|             ViewBag.Generations = ccDMO.GetGenerations(); |  | ||||||
|             ViewBag.PartNumbers = ccDMO.GetPartNumbers(); |  | ||||||
|             ViewBag.Processes = ccDMO.GetProcesses(); |  | ||||||
|             ViewBag.Logistics = ccDMO.GetLogistics(); |  | ||||||
|             return View(cc); |  | ||||||
|         } |  | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     [HttpPost] |     [HttpPost] | ||||||
|  | |||||||
| @ -90,6 +90,7 @@ public class CorrectiveActionDMO { | |||||||
|                 parameters.Add("@EscapePoint", model.EscapePoint); |                 parameters.Add("@EscapePoint", model.EscapePoint); | ||||||
|                 parameters.Add("@FollowUpDate", model.FollowUpDate); |                 parameters.Add("@FollowUpDate", model.FollowUpDate); | ||||||
|                 parameters.Add("@CASubmitted", model.CASubmitted); |                 parameters.Add("@CASubmitted", model.CASubmitted); | ||||||
|  |                 parameters.Add("@CAStandardType", model.CAStandardType); | ||||||
|  |  | ||||||
|                 db.Execute("_8DUpdateCorrectiveAction", parameters, commandType: CommandType.StoredProcedure); |                 db.Execute("_8DUpdateCorrectiveAction", parameters, commandType: CommandType.StoredProcedure); | ||||||
|                 EventLogDMO.Add(new WinEventLog { UserID = "System", Comments = "Saved Corrective Action", DocumentType = "9", IssueID = model.CANo, OperationType = "Status", SysDocumentID = 1 }); |                 EventLogDMO.Add(new WinEventLog { UserID = "System", Comments = "Saved Corrective Action", DocumentType = "9", IssueID = model.CANo, OperationType = "Status", SysDocumentID = 1 }); | ||||||
|  | |||||||
| @ -15,6 +15,7 @@ using Fab2ApprovalSystem.ViewModels; | |||||||
| namespace Fab2ApprovalSystem.DMO; | namespace Fab2ApprovalSystem.DMO; | ||||||
|  |  | ||||||
| public class ECN_DMO { | public class ECN_DMO { | ||||||
|  |  | ||||||
|     private readonly IDbConnection db = new SqlConnection(GlobalVars.DB_CONNECTION_STRING); |     private readonly IDbConnection db = new SqlConnection(GlobalVars.DB_CONNECTION_STRING); | ||||||
|     private readonly WorkflowDMO wfDMO = new(); |     private readonly WorkflowDMO wfDMO = new(); | ||||||
|  |  | ||||||
| @ -367,7 +368,7 @@ public class ECN_DMO { | |||||||
|         return ecnItem; |         return ecnItem; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     internal ECN GetECN(int ecnNumber) { |     public ECN GetECN(int ecnNumber) { | ||||||
|         ECN ecnItem = new(); |         ECN ecnItem = new(); | ||||||
|         DynamicParameters parameters = new(); |         DynamicParameters parameters = new(); | ||||||
|         parameters.Add("@ECNNumber", value: ecnNumber); |         parameters.Add("@ECNNumber", value: ecnNumber); | ||||||
|  | |||||||
| @ -231,6 +231,7 @@ public class CorrectiveAction { | |||||||
|     public DateTime? NextDueDate { get; set; } |     public DateTime? NextDueDate { get; set; } | ||||||
|     public DateTime? FollowUpDate { get; set; } |     public DateTime? FollowUpDate { get; set; } | ||||||
|     public bool CASubmitted { get; set; } |     public bool CASubmitted { get; set; } | ||||||
|  |     public string CAStandardType { get; set; } | ||||||
|     public DateTime? ClosedDate { get; set; } |     public DateTime? ClosedDate { get; set; } | ||||||
|     public CorrectiveAction() { |     public CorrectiveAction() { | ||||||
|         TeamMemberIDs = new List<int>(); |         TeamMemberIDs = new List<int>(); | ||||||
|  | |||||||
| @ -380,6 +380,43 @@ | |||||||
|                             </div> |                             </div> | ||||||
|                         </div> |                         </div> | ||||||
|                     </div> |                     </div> | ||||||
|  |  | ||||||
|  |                     <div class="col-sm-3"> | ||||||
|  |                         <div class="row"> | ||||||
|  |                             <div class="col-sm-3"> | ||||||
|  |                                 <label class="control-label pull-right">CA Standard Type:</label> | ||||||
|  |                             </div> | ||||||
|  |                             <div class="col-sm-9"> | ||||||
|  |                                 @(Html.Kendo().DropDownList() | ||||||
|  |                                     .Name("CAStandardTypeList") | ||||||
|  |  | ||||||
|  |                                     .DataTextField("Text") | ||||||
|  |                                     .DataValueField("Value") | ||||||
|  |                                         .BindTo(new List<SelectListItem>() | ||||||
|  |                                         { | ||||||
|  |                                             new SelectListItem() | ||||||
|  |                                             { | ||||||
|  |                                                 Text = "IATF16949", | ||||||
|  |                                                 Value = "IATF16949" | ||||||
|  |                                             }, | ||||||
|  |                                             new SelectListItem() | ||||||
|  |                                             { | ||||||
|  |                                                 Text = "ISO14001", | ||||||
|  |                                                 Value = "ISO14001" | ||||||
|  |                                             }, | ||||||
|  |                                             new SelectListItem() | ||||||
|  |                                             { | ||||||
|  |                                                 Text = "ISO45001", | ||||||
|  |                                                 Value = "ISO45001" | ||||||
|  |                                             } | ||||||
|  |                                         } | ||||||
|  |                                     ) | ||||||
|  |                                     .OptionLabel("Select") | ||||||
|  |                                     .Value(Model.CAStandardType) | ||||||
|  |                                 ) | ||||||
|  |                             </div> | ||||||
|  |                         </div> | ||||||
|  |                     </div> | ||||||
|                 </div> |                 </div> | ||||||
|                 <div class="row"> |                 <div class="row"> | ||||||
|                     <div class="col-sm-3"> |                     <div class="col-sm-3"> | ||||||
| @ -2176,6 +2213,7 @@ | |||||||
|             $('#txtApprovedDate').attr("disabled", true); |             $('#txtApprovedDate').attr("disabled", true); | ||||||
|             $('#txtRelatedMRB').attr("disabled", true); |             $('#txtRelatedMRB').attr("disabled", true); | ||||||
|             $('#CATypeList').data("kendoDropDownList").enable(false); |             $('#CATypeList').data("kendoDropDownList").enable(false); | ||||||
|  |             $('#CAStandardTypeList').data("kendoDropDownList").enable(false); | ||||||
|             $('#d0Comments').attr("disabled", true); |             $('#d0Comments').attr("disabled", true); | ||||||
|         } |         } | ||||||
|  |  | ||||||
| @ -3689,6 +3727,7 @@ | |||||||
|             TeamCaptainID: $("#TeamCaptainList").data("kendoDropDownList").value(), |             TeamCaptainID: $("#TeamCaptainList").data("kendoDropDownList").value(), | ||||||
|             CASponsorID: $("#CASponsorList").data("kendoDropDownList").value(), |             CASponsorID: $("#CASponsorList").data("kendoDropDownList").value(), | ||||||
|             CASubmitted: isCASubmitted, |             CASubmitted: isCASubmitted, | ||||||
|  |             CAStandardType : $("#CAStandardTypeList").data("kendoDropDownList").value(), | ||||||
|  |  | ||||||
|             //D0 |             //D0 | ||||||
|             D0Comments : $("#d0Comments").val(), |             D0Comments : $("#d0Comments").val(), | ||||||
|  | |||||||
| @ -325,6 +325,16 @@ | |||||||
|                             </div> |                             </div> | ||||||
|                         </div> |                         </div> | ||||||
|                     </div> |                     </div> | ||||||
|  |                     <div class="col-sm-3"> | ||||||
|  |                         <div class="row"> | ||||||
|  |                             <div class="col-sm-3"> | ||||||
|  |                                 <label class="control-label pull-right">CA Standard Type:</label> | ||||||
|  |                             </div> | ||||||
|  |                             <div class="col-sm-9"> | ||||||
|  |                                 @Html.TextBoxFor(model => model.CAStandardType, new { id = "txtCAStandardType", @class = "k-textbox", Readonly = "Readonly", style = "background-color:lightblue" }) | ||||||
|  |                             </div> | ||||||
|  |                         </div> | ||||||
|  |                     </div> | ||||||
|                 </div> |                 </div> | ||||||
|                 <div class="row"> |                 <div class="row"> | ||||||
|                     <div class="col-sm-3"> |                     <div class="col-sm-3"> | ||||||
|  | |||||||
| @ -92,15 +92,15 @@ | |||||||
|                                 "https://localhost:7255"; |                                 "https://localhost:7255"; | ||||||
|                             string mrbUrl = wasmClientUrl + "/redirect?jwt=" + encodedJwt + "&refreshToken=" + encodedRefreshToken + "&redirectPath=/mrb/new"; |                             string mrbUrl = wasmClientUrl + "/redirect?jwt=" + encodedJwt + "&refreshToken=" + encodedRefreshToken + "&redirectPath=/mrb/new"; | ||||||
|                             <li><a href="@mrbUrl">Create MRB</a></li> |                             <li><a href="@mrbUrl">Create MRB</a></li> | ||||||
|                             @*string pcrbUrl = wasmClientUrl + "/redirect?jwt=" + encodedJwt + "&refreshToken=" + encodedRefreshToken + "&redirectPath=/pcrb/new"; |                             string pcrbUrl = wasmClientUrl + "/redirect?jwt=" + encodedJwt + "&refreshToken=" + encodedRefreshToken + "&redirectPath=/pcrb/new"; | ||||||
|                             <li><a href="@pcrbUrl">Create PCRB</a></li>*@ |                             <li><a href="@pcrbUrl">Create PCRB</a></li> | ||||||
|                         } else { |                         } else { | ||||||
|                             string wasmClientUrl = Environment.GetEnvironmentVariable("FabApprovalWasmClientUrl") ?? |                             string wasmClientUrl = Environment.GetEnvironmentVariable("FabApprovalWasmClientUrl") ?? | ||||||
|                                                         "https://localhost:7255"; |                                                         "https://localhost:7255"; | ||||||
|                             string mrbUrl = wasmClientUrl + "/redirect?redirectPath=/mrb/new"; |                             string mrbUrl = wasmClientUrl + "/redirect?redirectPath=/mrb/new"; | ||||||
|                             <li><a href="@mrbUrl">Create MRB</a></li> |                             <li><a href="@mrbUrl">Create MRB</a></li> | ||||||
|                             @*string pcrbUrl = wasmClientUrl + "/redirect?redirectPath=/pcrb/new"; |                             string pcrbUrl = wasmClientUrl + "/redirect?redirectPath=/pcrb/new"; | ||||||
|                             <li><a href="@pcrbUrl">Create PCRB</a></li>*@ |                             <li><a href="@pcrbUrl">Create PCRB</a></li> | ||||||
|                         } |                         } | ||||||
|                         @*<li><a href=@Url.Action("CreateWorkRequest", "LotTraveler")>Create Special Work Request</a></li>*@ |                         @*<li><a href=@Url.Action("CreateWorkRequest", "LotTraveler")>Create Special Work Request</a></li>*@ | ||||||
|                         @*<li><a href=@Url.Action("Create", "ChangeControl")>Create PCR</a></li>*@ |                         @*<li><a href=@Url.Action("Create", "ChangeControl")>Create PCR</a></li>*@ | ||||||
| @ -152,8 +152,8 @@ | |||||||
|                 "https://localhost:7255"; |                 "https://localhost:7255"; | ||||||
|             string mrbUrl = wasmClientUrl + "/redirect?jwt=" + encodedJwt + "&refreshToken=" + encodedRefreshToken + "&redirectPath=/mrb/all"; |             string mrbUrl = wasmClientUrl + "/redirect?jwt=" + encodedJwt + "&refreshToken=" + encodedRefreshToken + "&redirectPath=/mrb/all"; | ||||||
|             menu.Add().Text("MRB").Url(mrbUrl); |             menu.Add().Text("MRB").Url(mrbUrl); | ||||||
|             //string pcrbUrl = wasmClientUrl + "/redirect?jwt=" + encodedJwt + "&refreshToken=" + encodedRefreshToken + "&redirectPath=/pcrb/all"; |             string pcrbUrl = wasmClientUrl + "/redirect?jwt=" + encodedJwt + "&refreshToken=" + encodedRefreshToken + "&redirectPath=/pcrb/all"; | ||||||
|             //menu.Add().Text("PCRB").Url(pcrbUrl); |             menu.Add().Text("PCRB").Url(pcrbUrl); | ||||||
|             //menu.Add().Text("Special Work Requests").Action("SpecialWorkRequestList", "Home"); |             //menu.Add().Text("Special Work Requests").Action("SpecialWorkRequestList", "Home"); | ||||||
|             //menu.Add().Text("PCRB").Action("ChangeControlList", "Home"); |             //menu.Add().Text("PCRB").Action("ChangeControlList", "Home"); | ||||||
|             //menu.Add().Text("MRB").Action("MRBList", "Home"); |             //menu.Add().Text("MRB").Action("MRBList", "Home"); | ||||||
|  | |||||||
| @ -54,7 +54,7 @@ public class HomeControllerTests { | |||||||
|  |  | ||||||
|     private static void GetMyOpenActionItems(ILogger? logger, AppSettings appSettings) { |     private static void GetMyOpenActionItems(ILogger? logger, AppSettings appSettings) { | ||||||
|         SetGlobalVars(logger, appSettings); |         SetGlobalVars(logger, appSettings); | ||||||
|         LotDispositionDMO lotDispositionDMO = new(appSettings); |         LotDispositionDMO lotDispositionDMO = new(); | ||||||
|         OpenActionItemViewModel[] openActionItemViewModels = lotDispositionDMO.GetMyOpenActionItems(appSettings.UserId).ToArray(); |         OpenActionItemViewModel[] openActionItemViewModels = lotDispositionDMO.GetMyOpenActionItems(appSettings.UserId).ToArray(); | ||||||
|         if (openActionItemViewModels.Length == 0) { } |         if (openActionItemViewModels.Length == 0) { } | ||||||
|     } |     } | ||||||
| @ -76,7 +76,7 @@ public class HomeControllerTests { | |||||||
|  |  | ||||||
|     private static void GetTaskList(ILogger? logger, AppSettings appSettings) { |     private static void GetTaskList(ILogger? logger, AppSettings appSettings) { | ||||||
|         SetGlobalVars(logger, appSettings); |         SetGlobalVars(logger, appSettings); | ||||||
|         LotDispositionDMO lotDispositionDMO = new(appSettings); |         LotDispositionDMO lotDispositionDMO = new(); | ||||||
|         IssuesViewModel[] issuesViewModels = lotDispositionDMO.GetTaskList(appSettings.UserId).ToArray(); |         IssuesViewModel[] issuesViewModels = lotDispositionDMO.GetTaskList(appSettings.UserId).ToArray(); | ||||||
|         if (issuesViewModels.Length == 0) { } |         if (issuesViewModels.Length == 0) { } | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -56,8 +56,8 @@ public class AdminDMOTests { | |||||||
|         AdminDMO adminDMO = new(); |         AdminDMO adminDMO = new(); | ||||||
|         // void AddNewTrainingGroup(string groupName); |         // void AddNewTrainingGroup(string groupName); | ||||||
|         // void AddUserRoles(int subRole, string userids); |         // void AddUserRoles(int subRole, string userids); | ||||||
|         // void AddUserToGroup(int userId, int groupId); |         // void AddUserToGroup(appSettings.UserId, int groupId); | ||||||
|         // void DeleteFromGroup(int userId, int groupId); |         // void DeleteFromGroup(appSettings.UserId, int groupId); | ||||||
|         // void DeleteTrainingGroup(int groupID); |         // void DeleteTrainingGroup(int groupID); | ||||||
|         // adminDMO.DeleteUserFromAllTrainingGroups(appSettings.UserId); |         // adminDMO.DeleteUserFromAllTrainingGroups(appSettings.UserId); | ||||||
|         // void DeleteUserRoles(int subRole, string userids); |         // void DeleteUserRoles(int subRole, string userids); | ||||||
|  | |||||||
| @ -62,8 +62,8 @@ public class AuditDMOTests { | |||||||
|         // IEnumerable<int> GetAuditFindingCategoryIdsByFindingId(int auditFindingsID); |         // IEnumerable<int> GetAuditFindingCategoryIdsByFindingId(int auditFindingsID); | ||||||
|         // AuditFindings GetAuditFindingsByID(int auditFindingsID); |         // AuditFindings GetAuditFindingsByID(int auditFindingsID); | ||||||
|         // IEnumerable<AuditFindings> GetAuditFindingsList(int auditNo); |         // IEnumerable<AuditFindings> GetAuditFindingsList(int auditNo); | ||||||
|         // Audit GetAuditItem(int auditNo, int userID); |         // Audit GetAuditItem(int auditNo, appSettings.UserId); | ||||||
|         // Audit GetAuditItemReadOnly(int auditNo, int userID); |         // Audit GetAuditItemReadOnly(int auditNo, appSettings.UserId); | ||||||
|         Auditor[] auditors = auditDMO.GetAuditorList().ToArray(); |         Auditor[] auditors = auditDMO.GetAuditorList().ToArray(); | ||||||
|         // IEnumerable<AuditReportAttachment> GetAuditReportAttachments(int auditNo); |         // IEnumerable<AuditReportAttachment> GetAuditReportAttachments(int auditNo); | ||||||
|         // C_8DAuditedStandard[] c_8DAuditedStandards = auditDMO.GetAuditStandardList().ToArray(); |         // C_8DAuditedStandard[] c_8DAuditedStandards = auditDMO.GetAuditStandardList().ToArray(); | ||||||
| @ -78,8 +78,8 @@ public class AuditDMOTests { | |||||||
|         // void InsertAuditReportAttachment(AuditReportAttachment attach); |         // void InsertAuditReportAttachment(AuditReportAttachment attach); | ||||||
|         // void InsertCAFindings(CAFindings model); |         // void InsertCAFindings(CAFindings model); | ||||||
|         // int IsCAAssignedToAudit(int CANo, int auditNo); |         // int IsCAAssignedToAudit(int CANo, int auditNo); | ||||||
|         // void ReleaseLockOnDocument(int userID, int issueID); |         // void ReleaseLockOnDocument(appSettings.UserId, int issueID); | ||||||
|         // void UpdateAudit(Audit audit, int userID); |         // void UpdateAudit(Audit audit, appSettings.UserId); | ||||||
|         // void UpdateCAFindings(CAFindings model); |         // void UpdateCAFindings(CAFindings model); | ||||||
|         if (auditDMO is null) { } |         if (auditDMO is null) { } | ||||||
| #pragma warning restore IDE0059 | #pragma warning restore IDE0059 | ||||||
|  | |||||||
| @ -53,12 +53,12 @@ public class ChangeControlDMOTests { | |||||||
|     private static void ChangeControlDMO(ILogger? logger, AppSettings appSettings) { |     private static void ChangeControlDMO(ILogger? logger, AppSettings appSettings) { | ||||||
| #pragma warning disable IDE0059 | #pragma warning disable IDE0059 | ||||||
|         SetGlobalVars(logger, appSettings); |         SetGlobalVars(logger, appSettings); | ||||||
|         ChangeControlDMO changeControlDMO = new(appSettings); |         ChangeControlDMO changeControlDMO = new(); | ||||||
|         // IEnumerable<CCAttachment> GetCCAttachment(int planNumber); |         // IEnumerable<CCAttachment> GetCCAttachment(int planNumber); | ||||||
|         // IEnumerable<CCMeetingAttachment> GetMeetingAttachments(int meetingID); |         // IEnumerable<CCMeetingAttachment> GetMeetingAttachments(int meetingID); | ||||||
|         // IEnumerable<MeetingDecisionSummaryList> GetMeetingDecisionSummaryList(int planNumber); |         // IEnumerable<MeetingDecisionSummaryList> GetMeetingDecisionSummaryList(int planNumber); | ||||||
|         // IEnumerable<CCMeeting> GetMeetingList(int planNumber); |         // IEnumerable<CCMeeting> GetMeetingList(int planNumber); | ||||||
|         // void ReassignOwner(int planNumber, int newOwnerID, string comments, int userID); |         // void ReassignOwner(int planNumber, int newOwnerID, string comments, appSettings.UserId); | ||||||
|         if (changeControlDMO is null) { } |         if (changeControlDMO is null) { } | ||||||
| #pragma warning restore IDE0059 | #pragma warning restore IDE0059 | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -55,8 +55,8 @@ public class CorrectiveActionDMOTests { | |||||||
|     private static void CorrectiveActionDMO(ILogger? logger, AppSettings appSettings) { |     private static void CorrectiveActionDMO(ILogger? logger, AppSettings appSettings) { | ||||||
| #pragma warning disable IDE0059 | #pragma warning disable IDE0059 | ||||||
|         SetGlobalVars(logger, appSettings); |         SetGlobalVars(logger, appSettings); | ||||||
|         CorrectiveActionDMO correctiveActionDMO = new(appSettings); |         CorrectiveActionDMO correctiveActionDMO = new(); | ||||||
|         // void ApproveSection(int issueID, int userID, string DSection); |         // void ApproveSection(int issueID, appSettings.UserId, string DSection); | ||||||
|         // void DeleteCAAttachment(int attachmentID); |         // void DeleteCAAttachment(int attachmentID); | ||||||
|         // void DeleteD3ContainmentActionItem(int d3ContainmentActionID); |         // void DeleteD3ContainmentActionItem(int d3ContainmentActionID); | ||||||
|         // void DeleteD5D6CorrectivetAction(int d5d6CAID); |         // void DeleteD5D6CorrectivetAction(int d5d6CAID); | ||||||
| @ -67,8 +67,8 @@ public class CorrectiveActionDMOTests { | |||||||
|         // IEnumerable<CA_Attachment> GetCAAttachmentsList(int caNo, string section); |         // IEnumerable<CA_Attachment> GetCAAttachmentsList(int caNo, string section); | ||||||
|         CAD3D5D7Due[] cAD3D5D7Dues = correctiveActionDMO.GetCAD3D5D7Due().ToArray(); |         CAD3D5D7Due[] cAD3D5D7Dues = correctiveActionDMO.GetCAD3D5D7Due().ToArray(); | ||||||
|         // IEnumerable<CA_Attachment> GetCAFindingsItemAttachments(int caFindingsID); |         // IEnumerable<CA_Attachment> GetCAFindingsItemAttachments(int caFindingsID); | ||||||
|         // CorrectiveAction GetCAItem(int caNo, int userID); |         // CorrectiveAction GetCAItem(int caNo, appSettings.UserId); | ||||||
|         // CorrectiveAction GetCAItemReadOnly(int caNo, int userID); |         // CorrectiveAction GetCAItemReadOnly(int caNo, appSettings.UserId); | ||||||
|         // IEnumerable<CASectionApproval> GetCASectionApprovalLog(int caNo); |         // IEnumerable<CASectionApproval> GetCASectionApprovalLog(int caNo); | ||||||
|         CASource[] cASources = correctiveActionDMO.GetCASourceList().ToArray(); |         CASource[] cASources = correctiveActionDMO.GetCASourceList().ToArray(); | ||||||
|         // IEnumerable<D3ContainmentAction> GetD3ContainmentActions(int caNo); |         // IEnumerable<D3ContainmentAction> GetD3ContainmentActions(int caNo); | ||||||
| @ -89,17 +89,17 @@ public class CorrectiveActionDMOTests { | |||||||
|         // void InsertD3ContainmentAction(D3ContainmentAction model); |         // void InsertD3ContainmentAction(D3ContainmentAction model); | ||||||
|         // void InsertD5D6CorrectivetAction(D5D6CorrectivetAction model); |         // void InsertD5D6CorrectivetAction(D5D6CorrectivetAction model); | ||||||
|         // void InsertD7PreventiveAction(D7PreventiveAction model); |         // void InsertD7PreventiveAction(D7PreventiveAction model); | ||||||
|         // bool IsAIAssignee(int userId, int caId); |         // bool IsAIAssignee(appSettings.UserId, int caId); | ||||||
|         // bool IsLastSectionApprover(int caNo, string dSection); |         // bool IsLastSectionApprover(int caNo, string dSection); | ||||||
|         // bool IsUserSectionApprover(int issueId, int userId); |         // bool IsUserSectionApprover(int issueId, appSettings.UserId); | ||||||
|         // void RejectSection(int issueID, int userID, string DSection, string comments); |         // void RejectSection(int issueID, appSettings.UserId, string DSection, string comments); | ||||||
|         // void ReleaseLockOnDocument(int userID, int issueID); |         // void ReleaseLockOnDocument(appSettings.UserId, int issueID); | ||||||
|         // DateTime SetCAComplete(int issueID); |         // DateTime SetCAComplete(int issueID); | ||||||
|         // DateTime SetCAD3DueDate(int issueID); |         // DateTime SetCAD3DueDate(int issueID); | ||||||
|         // DateTime SetCAD5D7DueDate(int issueID); |         // DateTime SetCAD5D7DueDate(int issueID); | ||||||
|         // void SetD3D5D7NotificationDate(int caNo, string section); |         // void SetD3D5D7NotificationDate(int caNo, string section); | ||||||
|         // int StartApproval(int issueID, int userID, int worlflowNumber); |         // int StartApproval(int issueID, appSettings.UserId, int worlflowNumber); | ||||||
|         // void StartSectionApproval(int issueID, int userID, string DSection); |         // void StartSectionApproval(int issueID, appSettings.UserId, string DSection); | ||||||
|         // void UpdateCorrectiveAction(CorrectiveAction model); |         // void UpdateCorrectiveAction(CorrectiveAction model); | ||||||
|         // void UpdateD3ContainmentAction(D3ContainmentAction model); |         // void UpdateD3ContainmentAction(D3ContainmentAction model); | ||||||
|         // void UpdateD5D6CorrectivetAction(D5D6CorrectivetAction model); |         // void UpdateD5D6CorrectivetAction(D5D6CorrectivetAction model); | ||||||
|  | |||||||
| @ -58,30 +58,30 @@ public class EngChangeNoticeDMOTests { | |||||||
|         ECN_DMO ecnDMO = new(); |         ECN_DMO ecnDMO = new(); | ||||||
|         // void CancelECN(int? ecnNumber); |         // void CancelECN(int? ecnNumber); | ||||||
|         // bool CanSubmitECN(int ecnNumber); |         // bool CanSubmitECN(int ecnNumber); | ||||||
|         // void DeleteDocument(int ecnNumber, int userid, string ecnTypeString); |         // void DeleteDocument(int ecnNumber, appSettings.UserId, string ecnTypeString); | ||||||
|         // void DeleteECNAttachment(int attachmentID); |         // void DeleteECNAttachment(int attachmentID); | ||||||
|         // bool ECNApproveCancelled_ExpiredDocument(int issueID, byte step, string comments, out bool lastStep, int userID, int documentType); |         // bool ECNApproveCancelled_ExpiredDocument(int issueID, byte step, string comments, out bool lastStep, appSettings.UserId, int documentType); | ||||||
|         // void ECNResetTECNAtRejection(int ecnNumber, int userID, int docType); |         // void ECNResetTECNAtRejection(int ecnNumber, appSettings.UserId, int docType); | ||||||
|         IssuesViewModel[] issuesViewModels = ecnDMO.GetAllTECNs().ToArray(); |         IssuesViewModel[] issuesViewModels = ecnDMO.GetAllTECNs().ToArray(); | ||||||
|         // IEnumerable<ApprovalLogHistory> GetECNApprovalLogHistory(int ecnNumber); |         // IEnumerable<ApprovalLogHistory> GetECNApprovalLogHistory(int ecnNumber); | ||||||
|         // IEnumerable<ECNAttachment> GetECNAttachments(int ecnNumber); |         // IEnumerable<ECNAttachment> GetECNAttachments(int ecnNumber); | ||||||
|         IssuesViewModel[] issuesViewModelsB = ecnDMO.GetECN_TECNPendingApprovals(appSettings.UserId).ToArray(); |         IssuesViewModel[] issuesViewModelsB = ecnDMO.GetECN_TECNPendingApprovals(appSettings.UserId).ToArray(); | ||||||
|         // string GetFileName(string attachmentID); |         // string GetFileName(string attachmentID); | ||||||
|         // IEnumerable<IssuesViewModel> GetMyConvertedTECNsToECNs(int userID, int maxDays); |         // IEnumerable<IssuesViewModel> GetMyConvertedTECNsToECNs(appSettings.UserId, int maxDays); | ||||||
|         // IEnumerable<IssuesViewModel> GetMyExpiredTECNs(int userID, int maxDays); |         // IEnumerable<IssuesViewModel> GetMyExpiredTECNs(appSettings.UserId, int maxDays); | ||||||
|         // IEnumerable<IssuesViewModel> GetMyExpiringTECNs(int userID, int maxDays); |         // IEnumerable<IssuesViewModel> GetMyExpiringTECNs(appSettings.UserId, int maxDays); | ||||||
|         // List<string> GetRejectionOrginatorEmailList(int ecnNumber); |         // List<string> GetRejectionOrginatorEmailList(int ecnNumber); | ||||||
|         int[] ints = ecnDMO.GetTECNNotificationUsers().ToArray(); |         int[] ints = ecnDMO.GetTECNNotificationUsers().ToArray(); | ||||||
|         // void InsertECNAttachment(ECNAttachment attach); |         // void InsertECNAttachment(ECNAttachment attach); | ||||||
|         // int PCRBExists(int pcrb); |         // int PCRBExists(int pcrb); | ||||||
|         // void ReassignOriginatorECN(int ecnNumber, int newOriginatorID, string comments, int userID); |         // void ReassignOriginatorECN(int ecnNumber, int newOriginatorID, string comments, appSettings.UserId); | ||||||
|         // void ReleaseLockOnDocument(int userID, int issueID); |         // void ReleaseLockOnDocument(appSettings.UserId, int issueID); | ||||||
|         // int ReSubmitDocument(int issueID, int userID, int documentType, out int allowedITAR, string descriptionOfChange, string reasonForChange, string ecnTypeString, out int newECNNumber, int categoryId); |         // int ReSubmitDocument(int issueID, appSettings.UserId, int documentType, out int allowedITAR, string descriptionOfChange, string reasonForChange, string ecnTypeString, out int newECNNumber, int categoryId); | ||||||
|         // void SaveAfterSubmitByApprover(int ecnNumber, string implementationDetails); |         // void SaveAfterSubmitByApprover(int ecnNumber, string implementationDetails); | ||||||
|         // void SetToExecutionStep(int ecnNumber, int userid, int documentType, string ecnTypeString); |         // void SetToExecutionStep(int ecnNumber, appSettings.UserId, int documentType, string ecnTypeString); | ||||||
|         // int SubmitDocument(int issueID, int userID, int documentType, out int allowedITAR); |         // int SubmitDocument(int issueID, appSettings.UserId, int documentType, out int allowedITAR); | ||||||
|         // int SubmitForCancellation(int issueID, byte currentStep, int userID, int documentType, string ecnType, int TECNOperationType); |         // int SubmitForCancellation(int issueID, byte currentStep, appSettings.UserId, int documentType, string ecnType, int TECNOperationType); | ||||||
|         // int SubmitTECNExtensionDocument(int issueID, int userID, int documentType, DateTime extensionDate); |         // int SubmitTECNExtensionDocument(int issueID, appSettings.UserId, int documentType, DateTime extensionDate); | ||||||
|         // void TECNExtensionLog(int ecnNumber, DateTime extensionDate); |         // void TECNExtensionLog(int ecnNumber, DateTime extensionDate); | ||||||
|         // void UpdateECNType(int ecnNumber, string ecnType); |         // void UpdateECNType(int ecnNumber, string ecnType); | ||||||
|         if (ecnDMO is null) { } |         if (ecnDMO is null) { } | ||||||
|  | |||||||
							
								
								
									
										108
									
								
								Fab2ApprovalTests/DMO/EngineeringChangeNoticeDMOTests.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										108
									
								
								Fab2ApprovalTests/DMO/EngineeringChangeNoticeDMOTests.cs
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,108 @@ | |||||||
|  | using System; | ||||||
|  | using System.Linq; | ||||||
|  |  | ||||||
|  | using Fab2ApprovalSystem.DMO; | ||||||
|  | using Fab2ApprovalSystem.Models; | ||||||
|  | using Fab2ApprovalSystem.ViewModels; | ||||||
|  |  | ||||||
|  | using Microsoft.AspNetCore.Mvc.Testing; | ||||||
|  | using Microsoft.Extensions.DependencyInjection; | ||||||
|  | using Microsoft.Extensions.Logging; | ||||||
|  |  | ||||||
|  | namespace Fab2ApprovalTests.DMO; | ||||||
|  |  | ||||||
|  | [TestClass] | ||||||
|  | public class EngineeringChangeNoticeDMOTests { | ||||||
|  |  | ||||||
|  | #pragma warning disable CS8618 | ||||||
|  |  | ||||||
|  |     private static ILogger? _Logger; | ||||||
|  |     private static TestContext _TestContext; | ||||||
|  |     private static WebApplicationFactory<Fab2ApprovalMKLink.Program> _WebApplicationFactory; | ||||||
|  |  | ||||||
|  | #pragma warning restore | ||||||
|  |  | ||||||
|  |     public static void SetGlobalVars(ILogger? logger, AppSettings appSettings) { | ||||||
|  |         logger?.LogDebug("Starting to set Fab2ApprovalSystem.Misc.GlobalVars"); | ||||||
|  |         Fab2ApprovalSystem.Misc.GlobalVars.AppSettings = appSettings; | ||||||
|  |         Fab2ApprovalSystem.Misc.GlobalVars.AttachmentUrl = appSettings.AttachmentUrl is null ? string.Empty : appSettings.AttachmentUrl; | ||||||
|  |         Fab2ApprovalSystem.Misc.GlobalVars.CA_BlankFormsLocation = appSettings.CABlankFormsLocation; | ||||||
|  |         Fab2ApprovalSystem.Misc.GlobalVars.DBConnection = appSettings.DBConnection; | ||||||
|  |         Fab2ApprovalSystem.Misc.GlobalVars.DB_CONNECTION_STRING = appSettings.DBConnectionString; | ||||||
|  |         Fab2ApprovalSystem.Misc.GlobalVars.hostURL = appSettings.HostURL; | ||||||
|  |         Fab2ApprovalSystem.Misc.GlobalVars.IS_INFINEON_DOMAIN = appSettings.IsInfineonDomain; | ||||||
|  |         Fab2ApprovalSystem.Misc.GlobalVars.MesaTemplateFiles = appSettings.MesaTemplateFiles; | ||||||
|  |         Fab2ApprovalSystem.Misc.GlobalVars.NDriveURL = appSettings.NDriveURL; | ||||||
|  |         Fab2ApprovalSystem.Misc.GlobalVars.SENDER_EMAIL = appSettings.SenderEmail; | ||||||
|  |         Fab2ApprovalSystem.Misc.GlobalVars.USER_ID = appSettings.UserId; | ||||||
|  |         Fab2ApprovalSystem.Misc.GlobalVars.USER_ISADMIN = appSettings.UserIsAdmin; | ||||||
|  |         Fab2ApprovalSystem.Misc.GlobalVars.WSR_URL = appSettings.WSR_URL; | ||||||
|  |         logger?.LogDebug("Finished setting Fab2ApprovalSystem.Misc.GlobalVars"); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     [ClassInitialize] | ||||||
|  |     public static void ClassInitAsync(TestContext testContext) { | ||||||
|  |         _TestContext = testContext; | ||||||
|  |         _WebApplicationFactory = new WebApplicationFactory<Fab2ApprovalMKLink.Program>(); | ||||||
|  |         IServiceProvider serviceProvider = _WebApplicationFactory.Services.CreateScope().ServiceProvider; | ||||||
|  |         _Logger = serviceProvider.GetRequiredService<ILogger<Fab2ApprovalMKLink.Program>>(); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     private static void NonThrowTryCatch() { | ||||||
|  |         try { throw new Exception(); } catch (Exception) { } | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |     private static void EngineeringChangeNoticeDMO(ILogger? logger, AppSettings appSettings, int maxDays, int ecnNumber) { | ||||||
|  | #pragma warning disable IDE0059 | ||||||
|  |         SetGlobalVars(logger, appSettings); | ||||||
|  |         ECN_DMO ecnDMO = new(); | ||||||
|  |         ECN ecn = ecnDMO.GetECN(ecnNumber); | ||||||
|  |         // void CancelECN(int? ecnNumber); | ||||||
|  |         bool canSubmitECN = ecnDMO.CanSubmitECN(ecnNumber); | ||||||
|  |         // void DeleteDocument(int ecnNumber, appSettings.UserId, string ecnTypeString); | ||||||
|  |         // void DeleteECNAttachment(int attachmentID); | ||||||
|  |         // bool ECNApproveCancelled_ExpiredDocument(int issueID, byte step, string comments, out bool lastStep, appSettings.UserId, int documentType); | ||||||
|  |         // void ECNResetTECNAtRejection(int ecnNumber, appSettings.UserId, int docType); | ||||||
|  |         IssuesViewModel[] issuesViewModels = ecnDMO.GetAllTECNs().ToArray(); | ||||||
|  |         ApprovalLogHistory[] approvalLogHistories = ecnDMO.GetECNApprovalLogHistory(ecnNumber).ToArray(); | ||||||
|  |         ECNAttachment[] eCNAttachments = ecnDMO.GetECNAttachments(ecnNumber).ToArray(); | ||||||
|  |         IssuesViewModel[] issuesViewModelsB = ecnDMO.GetECN_TECNPendingApprovals(appSettings.UserId).ToArray(); | ||||||
|  |         // string GetFileName(string attachmentID); | ||||||
|  |         IssuesViewModel[] issuesViewModelsC = ecnDMO.GetMyConvertedTECNsToECNs(appSettings.UserId, maxDays).ToArray(); | ||||||
|  |         IssuesViewModel[] issuesViewModelsD = ecnDMO.GetMyExpiredTECNs(appSettings.UserId, maxDays).ToArray(); | ||||||
|  |         IssuesViewModel[] issuesViewModelsE = ecnDMO.GetMyExpiringTECNs(appSettings.UserId, maxDays).ToArray(); | ||||||
|  |         // List<string> GetRejectionOrginatorEmailList(int ecnNumber); | ||||||
|  |         int[] ints = ecnDMO.GetTECNNotificationUsers().ToArray(); | ||||||
|  |         // void InsertECNAttachment(ECNAttachment attach); | ||||||
|  |         // int PCRBExists(int pcrb); | ||||||
|  |         // void ReassignOriginatorECN(int ecnNumber, int newOriginatorID, string comments, appSettings.UserId); | ||||||
|  |         // void ReleaseLockOnDocument(appSettings.UserId, int issueID); | ||||||
|  |         // int ReSubmitDocument(int issueID, appSettings.UserId, int documentType, out int allowedITAR, string descriptionOfChange, string reasonForChange, string ecnTypeString, out int newECNNumber, int categoryId); | ||||||
|  |         // void SaveAfterSubmitByApprover(int ecnNumber, string implementationDetails); | ||||||
|  |         // void SetToExecutionStep(int ecnNumber, appSettings.UserId, int documentType, string ecnTypeString); | ||||||
|  |         // int SubmitDocument(int issueID, appSettings.UserId, int documentType, out int allowedITAR); | ||||||
|  |         // int SubmitForCancellation(int issueID, byte currentStep, appSettings.UserId, int documentType, string ecnType, int TECNOperationType); | ||||||
|  |         // int SubmitTECNExtensionDocument(int issueID, appSettings.UserId, int documentType, DateTime extensionDate); | ||||||
|  |         // void TECNExtensionLog(int ecnNumber, DateTime extensionDate); | ||||||
|  |         // void UpdateECNType(int ecnNumber, string ecnType); | ||||||
|  |         if (ecnDMO is null) { } | ||||||
|  | #pragma warning restore IDE0059 | ||||||
|  |     } | ||||||
|  |  | ||||||
|  | #if Release | ||||||
|  |     [Ignore] | ||||||
|  | #endif | ||||||
|  |     [TestMethod] | ||||||
|  |     [DataRow(1, 82700)] | ||||||
|  |     public void EngineeringChangeNoticeIsAttachedOnlyDMO(int maxDays, int ecnNumber) { | ||||||
|  |         _Logger?.LogInformation("Starting Web Application"); | ||||||
|  |         IServiceProvider? serviceProvider = _WebApplicationFactory?.Services.CreateScope().ServiceProvider; | ||||||
|  |         AppSettings? appSettings = serviceProvider?.GetRequiredService<AppSettings>(); | ||||||
|  |         Assert.IsTrue(appSettings is not null); | ||||||
|  |         if (System.Diagnostics.Debugger.IsAttached) | ||||||
|  |             EngineeringChangeNoticeDMO(_Logger, appSettings, maxDays, ecnNumber); | ||||||
|  |         _Logger?.LogInformation("{TestName} completed", _TestContext?.TestName); | ||||||
|  |         NonThrowTryCatch(); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  | } | ||||||
| @ -55,9 +55,9 @@ public class LotDispositionDMOTests { | |||||||
|     private static void LotDispositionDMO(ILogger? logger, AppSettings appSettings) { |     private static void LotDispositionDMO(ILogger? logger, AppSettings appSettings) { | ||||||
| #pragma warning disable IDE0059 | #pragma warning disable IDE0059 | ||||||
|         SetGlobalVars(logger, appSettings); |         SetGlobalVars(logger, appSettings); | ||||||
|         LotDispositionDMO lotDispositionDMO = new(appSettings); |         LotDispositionDMO lotDispositionDMO = new(); | ||||||
|         // void DeleteAllLotDispoLot(int issueID); |         // void DeleteAllLotDispoLot(int issueID); | ||||||
|         // void DeleteCADocument(int CANo, int userID, string caTypeString); |         // void DeleteCADocument(int CANo, appSettings.UserId, string caTypeString); | ||||||
|         // void DeleteLotDispoAttachment(int attachmentID); |         // void DeleteLotDispoAttachment(int attachmentID); | ||||||
|         // void DeleteLotDispoLot(int lotID); |         // void DeleteLotDispoLot(int lotID); | ||||||
|         AuditList[] auditLists = lotDispositionDMO.GetAuditList(appSettings.UserId).ToArray(); |         AuditList[] auditLists = lotDispositionDMO.GetAuditList(appSettings.UserId).ToArray(); | ||||||
| @ -68,8 +68,8 @@ public class LotDispositionDMOTests { | |||||||
|         IssuesViewModel[] issuesViewModelsB = lotDispositionDMO.GetECNList(appSettings.UserId).ToArray(); |         IssuesViewModel[] issuesViewModelsB = lotDispositionDMO.GetECNList(appSettings.UserId).ToArray(); | ||||||
|         // string GetFileName(string attachmentID); |         // string GetFileName(string attachmentID); | ||||||
|         // Attachment[] GetLotDispoAttachments(int issueID); |         // Attachment[] GetLotDispoAttachments(int issueID); | ||||||
|         // LotDisposition GetLotDispositionItem(int issueID, out int isITAR, int userID); |         // LotDisposition GetLotDispositionItem(int issueID, out int isITAR, appSettings.UserId); | ||||||
|         // LotDisposition GetLotDispositionItemForRead(int issueID, out int isITAR, int userID); |         // LotDisposition GetLotDispositionItemForRead(int issueID, out int isITAR, appSettings.UserId); | ||||||
|         IssuesViewModel[] issuesViewModelsC = lotDispositionDMO.GetLotDispositionList(appSettings.UserId).ToArray(); |         IssuesViewModel[] issuesViewModelsC = lotDispositionDMO.GetLotDispositionList(appSettings.UserId).ToArray(); | ||||||
|         // Lot[] GetLotDispositionLots(int issueID); |         // Lot[] GetLotDispositionLots(int issueID); | ||||||
|         // LotDispositionLotSummaryViewModel GetLotDispositionLotSummary(int issueID); |         // LotDispositionLotSummaryViewModel GetLotDispositionLotSummary(int issueID); | ||||||
| @ -91,9 +91,9 @@ public class LotDispositionDMOTests { | |||||||
|         // int InsertLot(Lot lot, bool getLotInfo); |         // int InsertLot(Lot lot, bool getLotInfo); | ||||||
|         // LotDisposition InsertLotDisposition(LotDisposition lotDispo); |         // LotDisposition InsertLotDisposition(LotDisposition lotDispo); | ||||||
|         // void InsertLotDispositionAttachment(Attachment attach); |         // void InsertLotDispositionAttachment(Attachment attach); | ||||||
|         // void ReleaseLockOnDocument(int userID, int issueID); |         // void ReleaseLockOnDocument(appSettings.UserId, int issueID); | ||||||
|         // Lot[] SearchLots(string searchText); |         // Lot[] SearchLots(string searchText); | ||||||
|         // int SubmitDocument(int issueID, bool peRequired, bool mrbRequired, int userID); |         // int SubmitDocument(int issueID, bool peRequired, bool mrbRequired, appSettings.UserId); | ||||||
|         // void UpdateLotDispoLot(Lot lot); |         // void UpdateLotDispoLot(Lot lot); | ||||||
|         // void UpdateLotDisposition(LotDisposition lotDispo); |         // void UpdateLotDisposition(LotDisposition lotDispo); | ||||||
|         // void UpdateLotScrapReleaseStatus(ScrapLot scrap); |         // void UpdateLotScrapReleaseStatus(ScrapLot scrap); | ||||||
|  | |||||||
| @ -53,17 +53,17 @@ public class LotTravelerDMOTests { | |||||||
|     private static void LotTravelerDMO(ILogger? logger, AppSettings appSettings) { |     private static void LotTravelerDMO(ILogger? logger, AppSettings appSettings) { | ||||||
| #pragma warning disable IDE0059 | #pragma warning disable IDE0059 | ||||||
|         SetGlobalVars(logger, appSettings); |         SetGlobalVars(logger, appSettings); | ||||||
|         LotTravelerDMO lotTravelerDMO = new(appSettings); |         LotTravelerDMO lotTravelerDMO = new(); | ||||||
|         // int CanAddLocationOperation(LTLotTravelerHoldSteps model); |         // int CanAddLocationOperation(LTLotTravelerHoldSteps model); | ||||||
|         // int CreateLotTravelerRevision(LTLotTravelerHoldSteps model, int userID); |         // int CreateLotTravelerRevision(LTLotTravelerHoldSteps model, appSettings.UserId); | ||||||
|         // void CreateTraveler(int ltLotID, int workRequestID, int UserID); |         // void CreateTraveler(int ltLotID, int workRequestID, appSettings.UserId); | ||||||
|         // int CreateWorkRequestRevision(LTWorkRequest data, int userID); |         // int CreateWorkRequestRevision(LTWorkRequest data, appSettings.UserId); | ||||||
|         // void DeleteLot(int ltLotID); |         // void DeleteLot(int ltLotID); | ||||||
|         // IEnumerable<LTLot> GetLotList(int workRequestID); |         // IEnumerable<LTLot> GetLotList(int workRequestID); | ||||||
|         // IEnumerable<LTLot> GetLotListBasedOnSWRNumber(int swrNumber); |         // IEnumerable<LTLot> GetLotListBasedOnSWRNumber(int swrNumber); | ||||||
|         // IEnumerable<LotWithTraveler> GetLotsWithTraveler(int workRequestID); |         // IEnumerable<LotWithTraveler> GetLotsWithTraveler(int workRequestID); | ||||||
|         // LTLotTravelerHeaderViewModel GetLotTravelerHeaderForReadOnly(int ltLotID, int revisionNumber); |         // LTLotTravelerHeaderViewModel GetLotTravelerHeaderForReadOnly(int ltLotID, int revisionNumber); | ||||||
|         // LTLotTravelerHeaderViewModel GetLotTravelerHeaderForUpdate(int ltLotID, int UserID); |         // LTLotTravelerHeaderViewModel GetLotTravelerHeaderForUpdate(int ltLotID, appSettings.UserId); | ||||||
|         // IEnumerable<LTLotTravelerHoldSteps> GetLotTravelerHolStepsByRevision(int ltLotID, int revisionNumber); |         // IEnumerable<LTLotTravelerHoldSteps> GetLotTravelerHolStepsByRevision(int ltLotID, int revisionNumber); | ||||||
|         // IEnumerable<RevisionHistory> GetLotTravelerRevisionHistory(int lotID); |         // IEnumerable<RevisionHistory> GetLotTravelerRevisionHistory(int lotID); | ||||||
|         // IEnumerable<LTLotTravelerHoldSteps> GetLotTravHoldSteps(int ltLotID); |         // IEnumerable<LTLotTravelerHoldSteps> GetLotTravHoldSteps(int ltLotID); | ||||||
| @ -76,15 +76,15 @@ public class LotTravelerDMOTests { | |||||||
|         // IEnumerable<RevisionHistory> GetWorkReqRevisionHistory(int swrNumber); |         // IEnumerable<RevisionHistory> GetWorkReqRevisionHistory(int swrNumber); | ||||||
|         // List<Revision> GetWorkReqRevisions(int swrNumber); |         // List<Revision> GetWorkReqRevisions(int swrNumber); | ||||||
|         // void InsertLot(LTLot lot); |         // void InsertLot(LTLot lot); | ||||||
|         // int InsertLotTravelerHoldStep(LTLotTravelerHoldSteps model, int userID); |         // int InsertLotTravelerHoldStep(LTLotTravelerHoldSteps model, appSettings.UserId); | ||||||
|         // void ReassignOriginator(int workRequestID, int newOriginatorID, string comments, int userID); |         // void ReassignOriginator(int workRequestID, int newOriginatorID, string comments, appSettings.UserId); | ||||||
|         // void ReleaseLockOnDocument(int userID, int workRequestID); |         // void ReleaseLockOnDocument(appSettings.UserId, int workRequestID); | ||||||
|         // void ReleaseLockOnLotTravelerUpdateDoc(int userID, int ltLotID); |         // void ReleaseLockOnLotTravelerUpdateDoc(appSettings.UserId, int ltLotID); | ||||||
|         // void RestoreLotTravToPrevRevision(int prevLotTravRevID, int newLotTravRevID); |         // void RestoreLotTravToPrevRevision(int prevLotTravRevID, int newLotTravRevID); | ||||||
|         // int SubmitDocument(int workRequestID, int userID, int documentType, out int allowedITAR); |         // int SubmitDocument(int workRequestID, appSettings.UserId, int documentType, out int allowedITAR); | ||||||
|         // int UpdateLotTravelerHoldStep(LTLotTravelerHoldSteps model, int userID); |         // int UpdateLotTravelerHoldStep(LTLotTravelerHoldSteps model, appSettings.UserId); | ||||||
|         // void UpdateLotTravlerExecution(int lotTravHoldStepID, string taskComments, bool CompletedFlag, int userID); |         // void UpdateLotTravlerExecution(int lotTravHoldStepID, string taskComments, bool CompletedFlag, appSettings.UserId); | ||||||
|         // int UpdateRevisedLotTravelerHoldStep(LTLotTravelerHoldSteps model, int userID); |         // int UpdateRevisedLotTravelerHoldStep(LTLotTravelerHoldSteps model, appSettings.UserId); | ||||||
|         if (lotTravelerDMO is null) { } |         if (lotTravelerDMO is null) { } | ||||||
| #pragma warning restore IDE0059 | #pragma warning restore IDE0059 | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -54,9 +54,9 @@ public class PartsRequestDMOTests { | |||||||
|     private static void PartsRequestDMO(ILogger? logger, AppSettings appSettings) { |     private static void PartsRequestDMO(ILogger? logger, AppSettings appSettings) { | ||||||
| #pragma warning disable IDE0059 | #pragma warning disable IDE0059 | ||||||
|         SetGlobalVars(logger, appSettings); |         SetGlobalVars(logger, appSettings); | ||||||
|         PartsRequestDMO partsRequestDMO = new(appSettings); |         PartsRequestDMO partsRequestDMO = new(); | ||||||
|         // void DeleteAttachment(int attachmentID); |         // void DeleteAttachment(int attachmentID); | ||||||
|         // void DeleteDocument(int prNumber, int userid); |         // void DeleteDocument(int prNumber, appSettings.UserId); | ||||||
|         // PartsRequest Get(int PRNumber); |         // PartsRequest Get(int PRNumber); | ||||||
|         // IEnumerable<ApprovalLogHistory> GetApprovalLogHistory(int prNumber); |         // IEnumerable<ApprovalLogHistory> GetApprovalLogHistory(int prNumber); | ||||||
|         // IEnumerable<PartsRequestAttachmentList> GetAttachments(int prNumber); |         // IEnumerable<PartsRequestAttachmentList> GetAttachments(int prNumber); | ||||||
| @ -65,7 +65,7 @@ public class PartsRequestDMOTests { | |||||||
|         PartsRequestList[] partsRequestLists = partsRequestDMO.GetPartsRequestList().ToArray(); |         PartsRequestList[] partsRequestLists = partsRequestDMO.GetPartsRequestList().ToArray(); | ||||||
|         // void Insert(PartsRequest pr); |         // void Insert(PartsRequest pr); | ||||||
|         // void InsertAttachment(PartsRequestAttachment attach); |         // void InsertAttachment(PartsRequestAttachment attach); | ||||||
|         // void Submit(int prNumber, int userID); |         // void Submit(int prNumber, appSettings.UserId); | ||||||
|         // void Update(PartsRequest pr); |         // void Update(PartsRequest pr); | ||||||
|         if (partsRequestDMO is null) { } |         if (partsRequestDMO is null) { } | ||||||
| #pragma warning restore IDE0059 | #pragma warning restore IDE0059 | ||||||
|  | |||||||
| @ -60,8 +60,8 @@ public class TrainingDMOTests { | |||||||
|         // bool CheckTrainingStatus(int trainingAssignmentID); |         // bool CheckTrainingStatus(int trainingAssignmentID); | ||||||
|         // bool CheckValidDocAck(int docAckId); |         // bool CheckValidDocAck(int docAckId); | ||||||
|         // int Create(int issueId); |         // int Create(int issueId); | ||||||
|         // int CreateAssignment(int trainingId, int userId); |         // int CreateAssignment(int trainingId, appSettings.UserId); | ||||||
|         // void DeleteAssignmentByUserId(int userId); |         // void DeleteAssignmentByUserId(appSettings.UserId); | ||||||
|         // void DeleteTraining(int trainingId); |         // void DeleteTraining(int trainingId); | ||||||
|         // void DeleteTrainingAssignment(int trainingAssignmentId); |         // void DeleteTrainingAssignment(int trainingAssignmentId); | ||||||
|         // void DeleteTrainingDocAck(int trainingAssignmentId); |         // void DeleteTrainingDocAck(int trainingAssignmentId); | ||||||
| @ -75,15 +75,15 @@ public class TrainingDMOTests { | |||||||
|         // List<int> GetTrainees(int groupId); |         // List<int> GetTrainees(int groupId); | ||||||
|         // Training GetTraining(int trainingId); |         // Training GetTraining(int trainingId); | ||||||
|         // List<TrainingAssignment> GetTrainingAssignments(int TrainingID); |         // List<TrainingAssignment> GetTrainingAssignments(int TrainingID); | ||||||
|         // List<TrainingAssignment> GetTrainingAssignmentsByUser(int TrainingID, int userID); |         // List<TrainingAssignment> GetTrainingAssignmentsByUser(int TrainingID, appSettings.UserId); | ||||||
|         // List<TrainingAssignment> GetTrainingAssignmentsByUserID(int userID); |         // List<TrainingAssignment> GetTrainingAssignmentsByUserID(appSettings.UserId); | ||||||
|         // TrainingGroup GetTrainingGroupByID(int groupId); |         // TrainingGroup GetTrainingGroupByID(int groupId); | ||||||
|         // TrainingGroup[] trainingGroups = trainingDMO.GetTrainingGroups().ToArray(); |         // TrainingGroup[] trainingGroups = trainingDMO.GetTrainingGroups().ToArray(); | ||||||
|         // int GetTrainingId(int issueId); |         // int GetTrainingId(int issueId); | ||||||
|         // int GetTrainingIdByAssignment(int trainingAssignmentID); |         // int GetTrainingIdByAssignment(int trainingAssignmentID); | ||||||
|         // Training[] trainingsC = trainingDMO.GetTrainings().ToArray(); |         // Training[] trainingsC = trainingDMO.GetTrainings().ToArray(); | ||||||
|         // bool IsUserAssigned(int userId, int trainingId); |         // bool IsUserAssigned(appSettings.UserId, int trainingId); | ||||||
|         // bool isUserTrainingMember(int groupId, int userId); |         // bool isUserTrainingMember(int groupId, appSettings.UserId); | ||||||
|         // void reOpenTraining(int trainingId); |         // void reOpenTraining(int trainingId); | ||||||
|         // void SetTrainingFlag(int ECNNumber); |         // void SetTrainingFlag(int ECNNumber); | ||||||
|         // void UpdateAssignmentStatus(int trainingAssignmentID); |         // void UpdateAssignmentStatus(int trainingAssignmentID); | ||||||
|  | |||||||
| @ -50,22 +50,25 @@ public class WorkflowDMOTests { | |||||||
|         try { throw new Exception(); } catch (Exception) { } |         try { throw new Exception(); } catch (Exception) { } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     private static void WorkflowDMO(ILogger? logger, AppSettings appSettings) { |     private static void WorkflowDMO(ILogger? logger, AppSettings appSettings, int issueID, string comments, int documentType) { | ||||||
| #pragma warning disable IDE0059 | #pragma warning disable IDE0059 | ||||||
|  |         bool isLastStep; | ||||||
|         SetGlobalVars(logger, appSettings); |         SetGlobalVars(logger, appSettings); | ||||||
|         WorkflowDMO workflowDMO = new(); |         ECN_DMO ecnDMO = new(); | ||||||
|  |         ECN ecn = ecnDMO.GetECN(issueID); | ||||||
|  |         WorkflowDMO workflowDMO = new();         | ||||||
|         // string AddAdditionalApproval(int issueID, string userIDs, byte step, int documentType); |         // string AddAdditionalApproval(int issueID, string userIDs, byte step, int documentType); | ||||||
|         // string AddEECNApproval(int ecnNumber, byte step, int documentType, string engUserIDs, string opUserIDs); |         // string AddEECNApproval(int ecnNumber, byte step, int documentType, string engUserIDs, string opUserIDs); | ||||||
|         // bool Approve(int issueID, byte step, string comments, out bool lastStep, int userID, int documentType, int workFlowNumber); |         bool check = workflowDMO.Approve(appSettings, issueID, ecn.CurrentStep, comments, out isLastStep, appSettings.UserId, documentType, ecn.WorkFlowNumber); | ||||||
|         // string DelegateDocumentApproval(int issueID, int delegateFromUser, int delegateToUser); |         // string DelegateDocumentApproval(int issueID, int delegateFromUser, int delegateToUser); | ||||||
|         // string GetApproversForCancelled_ExpiredTECNDocs(int ecnNumber); |         // string GetApproversForCancelled_ExpiredTECNDocs(int ecnNumber); | ||||||
|         // string GetSubRoleItems(int issueID, int docType); |         // string GetSubRoleItems(int issueID, int docType); | ||||||
|         // string GetSubRolesForPartsRequestNextStep(int prNumber); |         // string GetSubRolesForPartsRequestNextStep(int prNumber); | ||||||
|         // WorkflowSteps GetWorkflowStep(int docTypeID, int wfNumber, int stepNumber); |         // WorkflowSteps GetWorkflowStep(int docTypeID, int wfNumber, int stepNumber); | ||||||
|         // string ReAssignApproval(int issueID, int assignedFromUser, int assignedToUser, byte step, int docType); |         // string ReAssignApproval(int issueID, int assignedFromUser, int assignedToUser, byte step, int docType); | ||||||
|         // bool Recall(int issueID, byte step, string comments, int userID, int docType); |         // bool Recall(int issueID, byte step, string comments, appSettings.UserId, int docType); | ||||||
|         // bool Reject(int issueID, byte step, string comments, int userID, int docType); |         // bool Reject(int issueID, byte step, string comments, appSettings.UserId, int docType); | ||||||
|         // void RejectTECNExtension(int ecnNumber, byte step, string comments, int userID, int docType); |         // void RejectTECNExtension(int ecnNumber, byte step, string comments, appSettings.UserId, int docType); | ||||||
|         if (workflowDMO is null) { } |         if (workflowDMO is null) { } | ||||||
| #pragma warning restore IDE0059 | #pragma warning restore IDE0059 | ||||||
|     } |     } | ||||||
| @ -74,13 +77,14 @@ public class WorkflowDMOTests { | |||||||
|     [Ignore] |     [Ignore] | ||||||
| #endif | #endif | ||||||
|     [TestMethod] |     [TestMethod] | ||||||
|     public void WorkflowDMOIsAttachedOnly() { |     [DataRow(82700, "comment", 3)] | ||||||
|  |     public void WorkflowDMOIsAttachedOnly(int issueID, string comments, int documentType) { | ||||||
|         _Logger?.LogInformation("Starting Web Application"); |         _Logger?.LogInformation("Starting Web Application"); | ||||||
|         IServiceProvider? serviceProvider = _WebApplicationFactory?.Services.CreateScope().ServiceProvider; |         IServiceProvider? serviceProvider = _WebApplicationFactory?.Services.CreateScope().ServiceProvider; | ||||||
|         AppSettings? appSettings = serviceProvider?.GetRequiredService<AppSettings>(); |         AppSettings? appSettings = serviceProvider?.GetRequiredService<AppSettings>(); | ||||||
|         Assert.IsTrue(appSettings is not null); |         Assert.IsTrue(appSettings is not null); | ||||||
|         if (System.Diagnostics.Debugger.IsAttached) |         if (System.Diagnostics.Debugger.IsAttached) | ||||||
|             WorkflowDMO(_Logger, appSettings); |             WorkflowDMO(_Logger, appSettings, issueID, comments, documentType); | ||||||
|         _Logger?.LogInformation("{TestName} completed", _TestContext?.TestName); |         _Logger?.LogInformation("{TestName} completed", _TestContext?.TestName); | ||||||
|         NonThrowTryCatch(); |         NonThrowTryCatch(); | ||||||
|     } |     } | ||||||
|  | |||||||
| @ -102,7 +102,7 @@ public class CorrectiveActionTests { | |||||||
|     internal static void TestCorrectiveAction(ILogger? logger, AppSettings appSettings, int caNo) { |     internal static void TestCorrectiveAction(ILogger? logger, AppSettings appSettings, int caNo) { | ||||||
|         SetGlobalVars(logger, appSettings); |         SetGlobalVars(logger, appSettings); | ||||||
|         CorrectiveAction ca; |         CorrectiveAction ca; | ||||||
|         CorrectiveActionDMO caDMO = new(appSettings); |         CorrectiveActionDMO caDMO = new(); | ||||||
|         ca = caDMO.GetCAItemReadOnly(caNo, appSettings.UserId); |         ca = caDMO.GetCAItemReadOnly(caNo, appSettings.UserId); | ||||||
|         if (ca is null) |         if (ca is null) | ||||||
|             throw new Exception($"{nameof(ca)}"); |             throw new Exception($"{nameof(ca)}"); | ||||||
|  | |||||||
| @ -30,4 +30,11 @@ | |||||||
|         <ProjectReference Include="..\MesaFabApproval.Shared\MesaFabApproval.Shared.csproj" /> |         <ProjectReference Include="..\MesaFabApproval.Shared\MesaFabApproval.Shared.csproj" /> | ||||||
|     </ItemGroup> |     </ItemGroup> | ||||||
|  |  | ||||||
|  |     <ItemGroup> | ||||||
|  |       <Content Update="wwwroot\appsettings.Development.json"> | ||||||
|  |         <ExcludeFromSingleFile>true</ExcludeFromSingleFile> | ||||||
|  |         <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory> | ||||||
|  |       </Content> | ||||||
|  |     </ItemGroup> | ||||||
|  |  | ||||||
| </Project> | </Project> | ||||||
|  | |||||||
| @ -19,6 +19,7 @@ | |||||||
|                               @bind-Value="@document.DocNumbers" |                               @bind-Value="@document.DocNumbers" | ||||||
|                               @bind-Text="@document.DocNumbers" |                               @bind-Text="@document.DocNumbers" | ||||||
|                               Immediate |                               Immediate | ||||||
|  |                               Required | ||||||
|                               AutoGrow |                               AutoGrow | ||||||
|                               AutoFocus /> |                               AutoFocus /> | ||||||
|                 @if (DocNumberIsNA()) { |                 @if (DocNumberIsNA()) { | ||||||
| @ -49,8 +50,8 @@ | |||||||
|         </MudPaper> |         </MudPaper> | ||||||
|     </DialogContent> |     </DialogContent> | ||||||
|     <DialogActions> |     <DialogActions> | ||||||
|         @if ((DocNumberIsNA() && !string.IsNullOrWhiteSpace(document.Comment)) ||  |         @if (!string.IsNullOrWhiteSpace(document.DocNumbers) && ((DocNumberIsNA() && !string.IsNullOrWhiteSpace(document.Comment)) ||  | ||||||
|              (!DocNumberIsNA() && ecnNoIsValid)) { |              (!DocNumberIsNA() && ecnNoIsValid))) { | ||||||
|             <MudButton Variant="Variant.Filled" |             <MudButton Variant="Variant.Filled" | ||||||
|                        Color="Color.Tertiary" |                        Color="Color.Tertiary" | ||||||
|                        Class="m1-auto" |                        Class="m1-auto" | ||||||
| @ -111,6 +112,10 @@ | |||||||
|                 document.CompletedDate = DateTime.Now; |                 document.CompletedDate = DateTime.Now; | ||||||
|             } |             } | ||||||
|  |  | ||||||
|  |             if (string.IsNullOrWhiteSpace(document.DocNumbers)) { | ||||||
|  |                 throw new Exception("Document Numbers cannot be empty"); | ||||||
|  |             } | ||||||
|  |  | ||||||
|             if (!DocNumberIsNA() && !ecnNoIsValid)  |             if (!DocNumberIsNA() && !ecnNoIsValid)  | ||||||
|                 throw new Exception($"{document.ECNNumber} is not a valid ECN#"); |                 throw new Exception($"{document.ECNNumber} is not a valid ECN#"); | ||||||
|             if (DocNumberIsNA() && string.IsNullOrWhiteSpace(document.Comment)) |             if (DocNumberIsNA() && string.IsNullOrWhiteSpace(document.Comment)) | ||||||
| @ -135,7 +140,9 @@ | |||||||
|  |  | ||||||
|     private bool DocNumberIsNA() { |     private bool DocNumberIsNA() { | ||||||
|         if (document.DocNumbers.ToLower().Equals("na") || |         if (document.DocNumbers.ToLower().Equals("na") || | ||||||
|             document.DocNumbers.ToLower().Equals("n/a")) { |             document.DocNumbers.ToLower().Equals("n/a") || | ||||||
|  |             document.DocNumbers.ToLower().Equals("n a") || | ||||||
|  |             document.DocNumbers.ToLower().Equals("not applicable")) { | ||||||
|             return true; |             return true; | ||||||
|         } |         } | ||||||
|         return false; |         return false; | ||||||
|  | |||||||
| @ -236,13 +236,14 @@ | |||||||
|                 int currentStagePendingActionItemCount = currentStageActionItems.Where(a => a.ClosedStatus == false).Count(); |                 int currentStagePendingActionItemCount = currentStageActionItems.Where(a => a.ClosedStatus == false).Count(); | ||||||
|  |  | ||||||
|                 bool allActionItemsComplete = current_i < 3 || actionItems.Where(a => a.ClosedStatus == false).Count() == 0; |                 bool allActionItemsComplete = current_i < 3 || actionItems.Where(a => a.ClosedStatus == false).Count() == 0; | ||||||
|  |                 bool actionItemsAreComplete = actionItems.Where(a => a.ClosedStatus == false).Count() == 0; | ||||||
|  |  | ||||||
|                 bool attachmentsMissing = currentStageAttachments.Count() == 0; |                 bool attachmentsMissing = currentStageAttachments.Count() == 0; | ||||||
|                 bool actionItemsIncomplete = current_i < 3 && currentStagePendingActionItemCount > 0; |                 bool actionItemsIncomplete = current_i < 3 && currentStagePendingActionItemCount > 0; | ||||||
|                 bool affectedDocumentsIncomplete = current_i == 3 && pcr3Documents.Where(d => d.CompletedByID <= 0).Count() > 0; |                 bool affectedDocumentsIncomplete = current_i == 3 && pcr3Documents.Where(d => d.CompletedByID <= 0).Count() > 0; | ||||||
|                 bool approvalsIncomplete = currentStageApprovals.Count() > 0 && currentStagePendingApprovalsCount > 0; |                 bool approvalsIncomplete = currentStageApprovals.Count() > 0 && currentStagePendingApprovalsCount > 0; | ||||||
|  |  | ||||||
|                 <MudExpansionPanel Expanded="@(previousStageSubmitted && (attachmentsMissing || actionItemsIncomplete ||  |                 <MudExpansionPanel Class="m-2" Expanded="@(previousStageSubmitted && (attachmentsMissing || actionItemsIncomplete ||  | ||||||
|                                                 affectedDocumentsIncomplete || !currentStageSubmitted || approvalsIncomplete))"> |                                                 affectedDocumentsIncomplete || !currentStageSubmitted || approvalsIncomplete))"> | ||||||
|                     <TitleContent> |                     <TitleContent> | ||||||
|                         <MudText Typo="Typo.h4" Align="Align.Center">@($"PCR {current_i}")</MudText> |                         <MudText Typo="Typo.h4" Align="Align.Center">@($"PCR {current_i}")</MudText> | ||||||
| @ -495,7 +496,17 @@ | |||||||
|                                         <MudTd DataLabel="Document Type">@context.DocType</MudTd> |                                         <MudTd DataLabel="Document Type">@context.DocType</MudTd> | ||||||
|                                         <MudTd DataLabel="Document Numbers">@context.DocNumbers</MudTd> |                                         <MudTd DataLabel="Document Numbers">@context.DocNumbers</MudTd> | ||||||
|                                         <MudTd DataLabel="Comments">@context.Comment</MudTd> |                                         <MudTd DataLabel="Comments">@context.Comment</MudTd> | ||||||
|                                         <MudTd DataLabel="ECN#">@context.GetEcnNumberString()</MudTd> |                                         <MudTd DataLabel="ECN#"> | ||||||
|  |                                             @if (string.IsNullOrWhiteSpace(context.GetEcnNumberString())) { | ||||||
|  |                                                 context.GetEcnNumberString(); | ||||||
|  |                                             } else { | ||||||
|  |                                                 <MudLink  | ||||||
|  |                                                     Href=@($"{config["OldFabApprovalUrl"]}/ECN/Edit?IssueID={context.GetEcnNumberString()}") | ||||||
|  |                                                     Target="_blank"> | ||||||
|  |                                                     @context.GetEcnNumberString() | ||||||
|  |                                                 </MudLink> | ||||||
|  |                                             } | ||||||
|  |                                         </MudTd> | ||||||
|                                         <MudTd DataLabel="Closed Date">@(DateTimeUtilities.GetDateAsStringMaxDefault(context.CompletedDate))</MudTd> |                                         <MudTd DataLabel="Closed Date">@(DateTimeUtilities.GetDateAsStringMaxDefault(context.CompletedDate))</MudTd> | ||||||
|                                         <MudTd DataLabel="Closed By"> |                                         <MudTd DataLabel="Closed By"> | ||||||
|                                             @(context.CompletedBy is null ? string.Empty : context.CompletedBy.GetFullName()) |                                             @(context.CompletedBy is null ? string.Empty : context.CompletedBy.GetFullName()) | ||||||
| @ -568,6 +579,11 @@ | |||||||
|  |  | ||||||
|                             <MudDivider DividerType="DividerType.Middle" Class="my-1" /> |                             <MudDivider DividerType="DividerType.Middle" Class="my-1" /> | ||||||
|                             <MudText Typo="Typo.h5" Align="Align.Center">Approvers</MudText> |                             <MudText Typo="Typo.h5" Align="Align.Center">Approvers</MudText> | ||||||
|  |                             @if (!actionItemsAreComplete && current_i == 3) { | ||||||
|  |                                 <MudText Align="Align.Center" Color="Color.Secondary" Typo="Typo.subtitle1"> | ||||||
|  |                                     All actions must be completed before PCR3 is submitted for approval | ||||||
|  |                                 </MudText> | ||||||
|  |                             } | ||||||
|                             <MudTable Items="@approvals.Where(a => a.Step == current_i).OrderBy(a => a.CompletedDate)" |                             <MudTable Items="@approvals.Where(a => a.Step == current_i).OrderBy(a => a.CompletedDate)" | ||||||
|                                         Class="m-2" |                                         Class="m-2" | ||||||
|                                         Striped="true" |                                         Striped="true" | ||||||
|  | |||||||
| @ -0,0 +1,4 @@ | |||||||
|  | { | ||||||
|  |   "OldFabApprovalUrl": "https://mesaapproval-test.mes.infineon.com", | ||||||
|  |   "FabApprovalApiBaseUrl": "https://mesaapproval-test.mes.infineon.com:7114" | ||||||
|  | } | ||||||
| @ -1,4 +1,4 @@ | |||||||
| { | { | ||||||
|   "OldFabApprovalUrl": "https://mesaapproval-test.mes.infineon.com", |   "OldFabApprovalUrl": "https://mesaapproval.mes.infineon.com", | ||||||
|   "FabApprovalApiBaseUrl": "https://mesaapproval-test.mes.infineon.com:7114" |   "FabApprovalApiBaseUrl": "https://mesaapproval.mes.infineon.com:7114" | ||||||
| } | } | ||||||
| @ -6,7 +6,7 @@ public class PCR3Document { | |||||||
|     public int ID { get; set; } |     public int ID { get; set; } | ||||||
|     public required int PlanNumber { get; set; } |     public required int PlanNumber { get; set; } | ||||||
|     public required string DocType { get; set; } |     public required string DocType { get; set; } | ||||||
|     public string DocNumbers { get; set; } = "N/A"; |     public string DocNumbers { get; set; } = string.Empty; | ||||||
|     public DateTime CompletedDate { get; set; } = DateTimeUtilities.MAX_DT; |     public DateTime CompletedDate { get; set; } = DateTimeUtilities.MAX_DT; | ||||||
|     public int CompletedByID { get; set; } = 0; |     public int CompletedByID { get; set; } = 0; | ||||||
|     public User? CompletedBy { get; set; } |     public User? CompletedBy { get; set; } | ||||||
|  | |||||||
| @ -15,10 +15,11 @@ trigger: | |||||||
|  |  | ||||||
| variables: | variables: | ||||||
|   buildConfiguration: "Release" |   buildConfiguration: "Release" | ||||||
|   targetFrameworkVersion: 'v4.8' |   targetFrameworkVersion: "v4.8" | ||||||
|   coreVersion: 'na' |   coreVersion: "na" | ||||||
|   assemblyTitle: 'Fab2ApprovalSystem' |   assemblyTitle: "Fab2ApprovalSystem" | ||||||
|   architecture: 'x64' |   architecture: "x64" | ||||||
|  |   msBuild: "C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/MSBuild/Current/Bin/MSBuild.exe" | ||||||
|  |  | ||||||
| stages: | stages: | ||||||
|   - stage: Development |   - stage: Development | ||||||
| @ -28,46 +29,18 @@ stages: | |||||||
|       demands: Fab2ApprovalSystem-Dev |       demands: Fab2ApprovalSystem-Dev | ||||||
|     variables: |     variables: | ||||||
|       ASPNETCORE_ENVIRONMENT: "Development" |       ASPNETCORE_ENVIRONMENT: "Development" | ||||||
|       configuration: 'Debug' |       configuration: "Debug" | ||||||
|     jobs: |     jobs: | ||||||
|     - job: Debug |       - job: Debug | ||||||
|       steps: |  | ||||||
|         - script: | |  | ||||||
|             echo BuildId: $(Build.BuildId) |  | ||||||
|             echo Build reason: $(Build.Reason) |  | ||||||
|             echo Repo Id: $(Build.Repository.Id) |  | ||||||
|             echo Repo name: $(Build.Repository.Name) |  | ||||||
|             echo Source version: $(Build.SourceVersion) |  | ||||||
|             echo Core version: $(CoreVersion) |  | ||||||
|             echo Build configuration: $(BuildConfiguration) |  | ||||||
|             echo Configuration: $(Configuration) |  | ||||||
|             echo Target Framework version: $(TargetFrameworkVersion) |  | ||||||
|             echo Assembly title: $(AssemblyTitle) |  | ||||||
|           displayName: "Echo Check" |  | ||||||
|  |  | ||||||
|          |  | ||||||
|         - script: '"C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/MSBuild/Current/Bin/MSBuild.exe" /target:Restore /DetailedSummary /ConsoleLoggerParameters:PerformanceSummary;ErrorsOnly; /p:Configuration=$(BuildConfiguration);TargetFrameworkVersion=$(TargetFrameworkVersion) /p:RestoreSources=D:/nupkg $(AssemblyTitle).csproj' |  | ||||||
|           workingDirectory: Fab2ApprovalSystem |  | ||||||
|           displayName: "Framework Restore" |  | ||||||
|            |  | ||||||
|         - script: '"C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/MSBuild/Current/Bin/MSBuild.exe" /target:Build /DetailedSummary /ConsoleLoggerParameters:PerformanceSummary;ErrorsOnly; /p:Configuration=$(BuildConfiguration);TargetFrameworkVersion=$(TargetFrameworkVersion) $(AssemblyTitle).csproj' |  | ||||||
|           workingDirectory: Fab2ApprovalSystem |  | ||||||
|           displayName: "Framework Build" |  | ||||||
|  |  | ||||||
|         - script: '"C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/MSBuild/Current/Bin/MSBuild.exe" /DetailedSummary /ConsoleLoggerParameters:PerformanceSummary;ErrorsOnly; /p:Configuration=$(Configuration);TargetFrameworkVersion=$(TargetFrameworkVersion) /p:DebugSymbols=false /p:DeleteExistingFiles=true /p:DeployOnBuild=true /p:EnableUpdateAble=true /p:ExcludeApp_Data=true /p:LastUsedBuildConfiguration=$(BuildConfiguration) /p:LastUsedPlatform="Any CPU" /p:LaunchSiteAfterPublish=true /p:OutputPath="D:\$(TargetFrameworkVersion)\$(Build.Repository.Name)\$(Build.BuildId)\$(Configuration)" /p:PreCompileBeforePublish=true /p:PublishProvider=FileSystem /p:PublishUrl="D:/PublishUrl" /p:SiteUrlToLaunchAfterPublish="" /p:WDPMergeOption=DoNotMerge /p:WebPublishMethod=FileSystem $(AssemblyTitle).csproj' |  | ||||||
|           workingDirectory: Fab2ApprovalSystem |  | ||||||
|           displayName: "Framework Pack" |  | ||||||
|   - stage: Production |  | ||||||
|     displayName: Production |  | ||||||
|     pool: |  | ||||||
|       name: Mesa-FabApproval |  | ||||||
|       demands: Fab2ApprovalSystem |  | ||||||
|     variables: |  | ||||||
|       configuration: 'Release' |  | ||||||
|       ASPNETCORE_ENVIRONMENT: "Production" |  | ||||||
|     jobs: |  | ||||||
|       - job: Release |  | ||||||
|         steps: |         steps: | ||||||
|  |           - script: | | ||||||
|  |               set gitCommit=$(Build.SourceVersion) | ||||||
|  |               set gitCommitSeven=%gitCommit:~0,7% | ||||||
|  |               echo %gitCommitSeven% | ||||||
|  |               echo ##vso[task.setvariable variable=GitCommitSeven;]%gitCommitSeven% | ||||||
|  |               echo $(GitCommitSeven) | ||||||
|  |             displayName: GitCommitSeven | ||||||
|  |  | ||||||
|           - script: | |           - script: | | ||||||
|               echo BuildId: $(Build.BuildId) |               echo BuildId: $(Build.BuildId) | ||||||
|               echo Build reason: $(Build.Reason) |               echo Build reason: $(Build.Reason) | ||||||
| @ -79,52 +52,63 @@ stages: | |||||||
|               echo Configuration: $(Configuration) |               echo Configuration: $(Configuration) | ||||||
|               echo Target Framework version: $(TargetFrameworkVersion) |               echo Target Framework version: $(TargetFrameworkVersion) | ||||||
|               echo Assembly title: $(AssemblyTitle) |               echo Assembly title: $(AssemblyTitle) | ||||||
|  |               echo MSBuild: $(msBuild) | ||||||
|             displayName: "Echo Check" |             displayName: "Echo Check" | ||||||
|  |  | ||||||
|           - script: '"C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/MSBuild/Current/Bin/MSBuild.exe" /target:Restore /DetailedSummary /ConsoleLoggerParameters:PerformanceSummary;ErrorsOnly; /p:Configuration=$(BuildConfiguration);TargetFrameworkVersion=$(TargetFrameworkVersion) $(AssemblyTitle).csproj' |  | ||||||
|             workingDirectory: Fab2ApprovalSystem |  | ||||||
|             displayName: "Framework Restore" |  | ||||||
|  |  | ||||||
|           - script: '"C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/MSBuild/Current/Bin/MSBuild.exe" /target:Build /DetailedSummary /ConsoleLoggerParameters:PerformanceSummary;ErrorsOnly; /p:Configuration=$(BuildConfiguration);TargetFrameworkVersion=$(TargetFrameworkVersion) $(AssemblyTitle).csproj' |  | ||||||
|             workingDirectory: Fab2ApprovalSystem |  | ||||||
|             displayName: "Framework Build" |  | ||||||
|  |  | ||||||
|           - script: '"C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/MSBuild/Current/Bin/MSBuild.exe" /DetailedSummary /ConsoleLoggerParameters:PerformanceSummary;ErrorsOnly; /p:Configuration=$(Configuration);TargetFrameworkVersion=$(TargetFrameworkVersion) /p:DebugSymbols=false /p:DeleteExistingFiles=true /p:DeployOnBuild=true /p:EnableUpdateAble=true /p:ExcludeApp_Data=true /p:LastUsedBuildConfiguration=$(BuildConfiguration) /p:LastUsedPlatform="Any CPU" /p:LaunchSiteAfterPublish=true /p:OutputPath="D:\$(TargetFrameworkVersion)\$(Build.Repository.Name)\$(Build.BuildId)\$(Configuration)" /p:PreCompileBeforePublish=true /p:PublishProvider=FileSystem /p:PublishUrl="D:/PublishUrl" /p:SiteUrlToLaunchAfterPublish="" /p:WDPMergeOption=DoNotMerge /p:WebPublishMethod=FileSystem $(AssemblyTitle).csproj' |  | ||||||
|             workingDirectory: Fab2ApprovalSystem |  | ||||||
|             displayName: "Framework Pack" |  | ||||||
|   - stage: Production_EC |  | ||||||
|     displayName: Production-EC |  | ||||||
|     pool: |  | ||||||
|       name: Mesa-FabApproval |  | ||||||
|       demands: Fab2ApprovalSystem-EC |  | ||||||
|     variables: |  | ||||||
|       ASPNETCORE_ENVIRONMENT: "Production" |  | ||||||
|       configuration: 'Release' |  | ||||||
|     jobs: |  | ||||||
|       - job: Release |  | ||||||
|         steps: |  | ||||||
|           - script: | |           - script: | | ||||||
|               echo BuildId: $(Build.BuildId) |               mklink /J ".vscode\.UserSecrets" "%AppData%\Microsoft\UserSecrets\f2da5035-aba9-4676-9f8d-d6689f84663d" | ||||||
|               echo Build reason: $(Build.Reason) |               mklink /J "DMO" "..\Fab2ApprovalSystem\DMO" | ||||||
|               echo Repo Id: $(Build.Repository.Id) |               mklink /J "Jobs" "..\Fab2ApprovalSystem\Jobs" | ||||||
|               echo Repo name: $(Build.Repository.Name) |               mklink /J "JobSchedules" "..\Fab2ApprovalSystem\JobSchedules" | ||||||
|               echo Source version: $(Build.SourceVersion) |               mklink /J "Misc" "..\Fab2ApprovalSystem\Misc" | ||||||
|               echo Core version: $(CoreVersion) |               mklink /J "Models" "..\Fab2ApprovalSystem\Models" | ||||||
|               echo Build configuration: $(BuildConfiguration) |               mklink /J "PdfGenerator" "..\Fab2ApprovalSystem\PdfGenerator" | ||||||
|               echo Configuration: $(Configuration) |               mklink /J "Utilities" "..\Fab2ApprovalSystem\Utilities" | ||||||
|               echo Target Framework version: $(TargetFrameworkVersion) |               mklink /J "ViewModels" "..\Fab2ApprovalSystem\ViewModels" | ||||||
|               echo Assembly title: $(AssemblyTitle) |             workingDirectory: Fab2ApprovalMKLink | ||||||
|             displayName: "Echo Check" |             displayName: "MKLink - Symbolic Link of Type Junction" | ||||||
|  |  | ||||||
|           - script: '"C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/MSBuild/Current/Bin/MSBuild.exe" /target:Restore /DetailedSummary /ConsoleLoggerParameters:PerformanceSummary;ErrorsOnly; /p:Configuration=$(BuildConfiguration);TargetFrameworkVersion=$(TargetFrameworkVersion) $(AssemblyTitle).csproj' |           - script: | | ||||||
|             workingDirectory: Fab2ApprovalSystem |               dotnet user-secrets init | ||||||
|             displayName: "Framework Restore" |               dotnet user-secrets set BuildNumber $(Build.BuildId) | ||||||
|  |               dotnet user-secrets set GitCommitSeven $(GitCommitSeven) | ||||||
|  |               dotnet user-secrets list | ||||||
|  |             workingDirectory: Fab2ApprovalMKLink | ||||||
|  |             displayName: "MKLink - Safe storage of app secrets" | ||||||
|  |  | ||||||
|           - script: '"C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/MSBuild/Current/Bin/MSBuild.exe" /target:Build /DetailedSummary /ConsoleLoggerParameters:PerformanceSummary;ErrorsOnly; /p:Configuration=$(BuildConfiguration);TargetFrameworkVersion=$(TargetFrameworkVersion) $(AssemblyTitle).csproj' |           - script: dotnet build --configuration $(buildConfiguration) | ||||||
|             workingDirectory: Fab2ApprovalSystem |             workingDirectory: Fab2ApprovalMKLink | ||||||
|             displayName: "Framework Build" |             displayName: "MKLink - Build" | ||||||
|  |  | ||||||
|           - script: '"C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/MSBuild/Current/Bin/MSBuild.exe" /DetailedSummary /ConsoleLoggerParameters:PerformanceSummary;ErrorsOnly; /p:Configuration=$(Configuration);TargetFrameworkVersion=$(TargetFrameworkVersion) /p:DebugSymbols=false /p:DeleteExistingFiles=true /p:DeployOnBuild=true /p:EnableUpdateAble=true /p:ExcludeApp_Data=true /p:LastUsedBuildConfiguration=$(BuildConfiguration) /p:LastUsedPlatform="Any CPU" /p:LaunchSiteAfterPublish=true /p:OutputPath="D:\$(TargetFrameworkVersion)\$(Build.Repository.Name)\$(Build.BuildId)\$(Configuration)" /p:PreCompileBeforePublish=true /p:PublishProvider=FileSystem /p:PublishUrl="D:/PublishUrl" /p:SiteUrlToLaunchAfterPublish="" /p:WDPMergeOption=DoNotMerge /p:WebPublishMethod=FileSystem $(AssemblyTitle).csproj' |           - script: dotnet build --configuration $(buildConfiguration) | ||||||
|  |             workingDirectory: Fab2ApprovalTests | ||||||
|  |             displayName: "Tests - Build" | ||||||
|  |  | ||||||
|  |           - script: dotnet test --configuration $(buildConfiguration) | ||||||
|  |             workingDirectory: Fab2ApprovalTests | ||||||
|  |             displayName: "Tests - Test" | ||||||
|  |  | ||||||
|  |           - script: dotnet clean --configuration $(buildConfiguration) | ||||||
|  |             workingDirectory: Fab2ApprovalTests | ||||||
|  |             displayName: "Tests - Clean" | ||||||
|  |  | ||||||
|  |           - script: dotnet clean --configuration $(buildConfiguration) | ||||||
|  |             workingDirectory: Fab2ApprovalMKLink | ||||||
|  |             displayName: "MKLink - Clean" | ||||||
|  |  | ||||||
|  |           - script: echo $(Build.SourceVersion)-$(Build.BuildId)>bin_x_x_\$(Configuration)\$(CoreVersion)\win-x64\$(Build.Repository.Name).txt | ||||||
|  |             workingDirectory: Fab2ApprovalMKLink | ||||||
|  |             displayName: "Force Fail" | ||||||
|  |             enabled: "false" | ||||||
|  |  | ||||||
|  |           - script: '"$(msBuild)" /target:Restore /DetailedSummary /ConsoleLoggerParameters:PerformanceSummary;ErrorsOnly; /p:Configuration=$(BuildConfiguration);TargetFrameworkVersion=$(TargetFrameworkVersion) /p:RestoreSources=D:/nupkg $(AssemblyTitle).csproj' | ||||||
|             workingDirectory: Fab2ApprovalSystem |             workingDirectory: Fab2ApprovalSystem | ||||||
|             displayName: "Framework Pack" |             displayName: "Framework - Restore" | ||||||
|    |  | ||||||
|  |           - script: '"$(msBuild)" /target:Build /DetailedSummary /ConsoleLoggerParameters:PerformanceSummary;ErrorsOnly; /p:Configuration=$(BuildConfiguration);TargetFrameworkVersion=$(TargetFrameworkVersion) $(AssemblyTitle).csproj' | ||||||
|  |             workingDirectory: Fab2ApprovalSystem | ||||||
|  |             displayName: "Framework - Build" | ||||||
|  |  | ||||||
|  |           - script: '"$(msBuild)" /DetailedSummary /ConsoleLoggerParameters:PerformanceSummary;ErrorsOnly; /p:Configuration=$(Configuration);TargetFrameworkVersion=$(TargetFrameworkVersion) /p:DebugSymbols=false /p:DeleteExistingFiles=true /p:DeployOnBuild=true /p:EnableUpdateAble=true /p:ExcludeApp_Data=true /p:LastUsedBuildConfiguration=$(BuildConfiguration) /p:LastUsedPlatform="Any CPU" /p:LaunchSiteAfterPublish=true /p:OutputPath="D:\$(TargetFrameworkVersion)\$(Build.Repository.Name)\$(Build.BuildId)\$(Configuration)" /p:PreCompileBeforePublish=true /p:PublishProvider=FileSystem /p:PublishUrl="D:/PublishUrl" /p:SiteUrlToLaunchAfterPublish="" /p:WDPMergeOption=DoNotMerge /p:WebPublishMethod=FileSystem $(AssemblyTitle).csproj' | ||||||
|  |             workingDirectory: Fab2ApprovalSystem | ||||||
|  |             displayName: "Framework - Pack" | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user
	