diff --git a/Fab2ApprovalMKLink/.vscode/mklink.md b/Fab2ApprovalMKLink/.vscode/mklink.md index 93324cc..4d88833 100644 --- a/Fab2ApprovalMKLink/.vscode/mklink.md +++ b/Fab2ApprovalMKLink/.vscode/mklink.md @@ -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\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" +``` diff --git a/Fab2ApprovalSystem/DMO/CorrectiveActionDMO.cs b/Fab2ApprovalSystem/DMO/CorrectiveActionDMO.cs index 6052fa4..3b310f1 100644 --- a/Fab2ApprovalSystem/DMO/CorrectiveActionDMO.cs +++ b/Fab2ApprovalSystem/DMO/CorrectiveActionDMO.cs @@ -90,6 +90,7 @@ public class CorrectiveActionDMO { parameters.Add("@EscapePoint", model.EscapePoint); parameters.Add("@FollowUpDate", model.FollowUpDate); parameters.Add("@CASubmitted", model.CASubmitted); + parameters.Add("@CAStandardType", model.CAStandardType); 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 }); diff --git a/Fab2ApprovalSystem/DMO/ECN_DMO.cs b/Fab2ApprovalSystem/DMO/ECN_DMO.cs index 4751ec1..db903d8 100644 --- a/Fab2ApprovalSystem/DMO/ECN_DMO.cs +++ b/Fab2ApprovalSystem/DMO/ECN_DMO.cs @@ -15,6 +15,7 @@ using Fab2ApprovalSystem.ViewModels; namespace Fab2ApprovalSystem.DMO; public class ECN_DMO { + private readonly IDbConnection db = new SqlConnection(GlobalVars.DB_CONNECTION_STRING); private readonly WorkflowDMO wfDMO = new(); @@ -367,7 +368,7 @@ public class ECN_DMO { return ecnItem; } - internal ECN GetECN(int ecnNumber) { + public ECN GetECN(int ecnNumber) { ECN ecnItem = new(); DynamicParameters parameters = new(); parameters.Add("@ECNNumber", value: ecnNumber); diff --git a/Fab2ApprovalSystem/Models/EightDModel.cs b/Fab2ApprovalSystem/Models/EightDModel.cs index 8b27289..942efc5 100644 --- a/Fab2ApprovalSystem/Models/EightDModel.cs +++ b/Fab2ApprovalSystem/Models/EightDModel.cs @@ -231,6 +231,7 @@ public class CorrectiveAction { public DateTime? NextDueDate { get; set; } public DateTime? FollowUpDate { get; set; } public bool CASubmitted { get; set; } + public string CAStandardType { get; set; } public DateTime? ClosedDate { get; set; } public CorrectiveAction() { TeamMemberIDs = new List(); diff --git a/Fab2ApprovalSystem/Views/CorrectiveAction/Edit.cshtml b/Fab2ApprovalSystem/Views/CorrectiveAction/Edit.cshtml index 391bf59..8732c9f 100644 --- a/Fab2ApprovalSystem/Views/CorrectiveAction/Edit.cshtml +++ b/Fab2ApprovalSystem/Views/CorrectiveAction/Edit.cshtml @@ -380,6 +380,43 @@ + +
+
+
+ +
+
+ @(Html.Kendo().DropDownList() + .Name("CAStandardTypeList") + + .DataTextField("Text") + .DataValueField("Value") + .BindTo(new List() + { + new SelectListItem() + { + Text = "IATF16949", + Value = "IATF16949" + }, + new SelectListItem() + { + Text = "ISO14001", + Value = "ISO14001" + }, + new SelectListItem() + { + Text = "ISO45001", + Value = "ISO45001" + } + } + ) + .OptionLabel("Select") + .Value(Model.CAStandardType) + ) +
+
+
@@ -2176,6 +2213,7 @@ $('#txtApprovedDate').attr("disabled", true); $('#txtRelatedMRB').attr("disabled", true); $('#CATypeList').data("kendoDropDownList").enable(false); + $('#CAStandardTypeList').data("kendoDropDownList").enable(false); $('#d0Comments').attr("disabled", true); } @@ -3689,6 +3727,7 @@ TeamCaptainID: $("#TeamCaptainList").data("kendoDropDownList").value(), CASponsorID: $("#CASponsorList").data("kendoDropDownList").value(), CASubmitted: isCASubmitted, + CAStandardType : $("#CAStandardTypeList").data("kendoDropDownList").value(), //D0 D0Comments : $("#d0Comments").val(), diff --git a/Fab2ApprovalSystem/Views/CorrectiveAction/ReadOnlyCA.cshtml b/Fab2ApprovalSystem/Views/CorrectiveAction/ReadOnlyCA.cshtml index 7400b63..338aaa8 100644 --- a/Fab2ApprovalSystem/Views/CorrectiveAction/ReadOnlyCA.cshtml +++ b/Fab2ApprovalSystem/Views/CorrectiveAction/ReadOnlyCA.cshtml @@ -325,6 +325,16 @@
+
+
+
+ +
+
+ @Html.TextBoxFor(model => model.CAStandardType, new { id = "txtCAStandardType", @class = "k-textbox", Readonly = "Readonly", style = "background-color:lightblue" }) +
+
+
diff --git a/Fab2ApprovalTests/Controller/HomeControllerTests.cs b/Fab2ApprovalTests/Controller/HomeControllerTests.cs index 70c1405..d95d4d8 100644 --- a/Fab2ApprovalTests/Controller/HomeControllerTests.cs +++ b/Fab2ApprovalTests/Controller/HomeControllerTests.cs @@ -54,7 +54,7 @@ public class HomeControllerTests { private static void GetMyOpenActionItems(ILogger? logger, AppSettings appSettings) { SetGlobalVars(logger, appSettings); - LotDispositionDMO lotDispositionDMO = new(appSettings); + LotDispositionDMO lotDispositionDMO = new(); OpenActionItemViewModel[] openActionItemViewModels = lotDispositionDMO.GetMyOpenActionItems(appSettings.UserId).ToArray(); if (openActionItemViewModels.Length == 0) { } } @@ -76,7 +76,7 @@ public class HomeControllerTests { private static void GetTaskList(ILogger? logger, AppSettings appSettings) { SetGlobalVars(logger, appSettings); - LotDispositionDMO lotDispositionDMO = new(appSettings); + LotDispositionDMO lotDispositionDMO = new(); IssuesViewModel[] issuesViewModels = lotDispositionDMO.GetTaskList(appSettings.UserId).ToArray(); if (issuesViewModels.Length == 0) { } } diff --git a/Fab2ApprovalTests/DMO/AdminDMOTests.cs b/Fab2ApprovalTests/DMO/AdminDMOTests.cs index fc80e24..f943630 100644 --- a/Fab2ApprovalTests/DMO/AdminDMOTests.cs +++ b/Fab2ApprovalTests/DMO/AdminDMOTests.cs @@ -56,8 +56,8 @@ public class AdminDMOTests { AdminDMO adminDMO = new(); // void AddNewTrainingGroup(string groupName); // void AddUserRoles(int subRole, string userids); - // void AddUserToGroup(int userId, int groupId); - // void DeleteFromGroup(int userId, int groupId); + // void AddUserToGroup(appSettings.UserId, int groupId); + // void DeleteFromGroup(appSettings.UserId, int groupId); // void DeleteTrainingGroup(int groupID); // adminDMO.DeleteUserFromAllTrainingGroups(appSettings.UserId); // void DeleteUserRoles(int subRole, string userids); diff --git a/Fab2ApprovalTests/DMO/AuditDMOTests.cs b/Fab2ApprovalTests/DMO/AuditDMOTests.cs index 9cb242b..36337d1 100644 --- a/Fab2ApprovalTests/DMO/AuditDMOTests.cs +++ b/Fab2ApprovalTests/DMO/AuditDMOTests.cs @@ -62,8 +62,8 @@ public class AuditDMOTests { // IEnumerable GetAuditFindingCategoryIdsByFindingId(int auditFindingsID); // AuditFindings GetAuditFindingsByID(int auditFindingsID); // IEnumerable GetAuditFindingsList(int auditNo); - // Audit GetAuditItem(int auditNo, int userID); - // Audit GetAuditItemReadOnly(int auditNo, int userID); + // Audit GetAuditItem(int auditNo, appSettings.UserId); + // Audit GetAuditItemReadOnly(int auditNo, appSettings.UserId); Auditor[] auditors = auditDMO.GetAuditorList().ToArray(); // IEnumerable GetAuditReportAttachments(int auditNo); // C_8DAuditedStandard[] c_8DAuditedStandards = auditDMO.GetAuditStandardList().ToArray(); @@ -78,8 +78,8 @@ public class AuditDMOTests { // void InsertAuditReportAttachment(AuditReportAttachment attach); // void InsertCAFindings(CAFindings model); // int IsCAAssignedToAudit(int CANo, int auditNo); - // void ReleaseLockOnDocument(int userID, int issueID); - // void UpdateAudit(Audit audit, int userID); + // void ReleaseLockOnDocument(appSettings.UserId, int issueID); + // void UpdateAudit(Audit audit, appSettings.UserId); // void UpdateCAFindings(CAFindings model); if (auditDMO is null) { } #pragma warning restore IDE0059 diff --git a/Fab2ApprovalTests/DMO/ChangeControlDMOTests.cs b/Fab2ApprovalTests/DMO/ChangeControlDMOTests.cs index a1004ea..7546c8a 100644 --- a/Fab2ApprovalTests/DMO/ChangeControlDMOTests.cs +++ b/Fab2ApprovalTests/DMO/ChangeControlDMOTests.cs @@ -53,12 +53,12 @@ public class ChangeControlDMOTests { private static void ChangeControlDMO(ILogger? logger, AppSettings appSettings) { #pragma warning disable IDE0059 SetGlobalVars(logger, appSettings); - ChangeControlDMO changeControlDMO = new(appSettings); + ChangeControlDMO changeControlDMO = new(); // IEnumerable GetCCAttachment(int planNumber); // IEnumerable GetMeetingAttachments(int meetingID); // IEnumerable GetMeetingDecisionSummaryList(int planNumber); // IEnumerable 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) { } #pragma warning restore IDE0059 } diff --git a/Fab2ApprovalTests/DMO/CorrectiveActionDMOTests.cs b/Fab2ApprovalTests/DMO/CorrectiveActionDMOTests.cs index d01e76e..e0f43db 100644 --- a/Fab2ApprovalTests/DMO/CorrectiveActionDMOTests.cs +++ b/Fab2ApprovalTests/DMO/CorrectiveActionDMOTests.cs @@ -55,8 +55,8 @@ public class CorrectiveActionDMOTests { private static void CorrectiveActionDMO(ILogger? logger, AppSettings appSettings) { #pragma warning disable IDE0059 SetGlobalVars(logger, appSettings); - CorrectiveActionDMO correctiveActionDMO = new(appSettings); - // void ApproveSection(int issueID, int userID, string DSection); + CorrectiveActionDMO correctiveActionDMO = new(); + // void ApproveSection(int issueID, appSettings.UserId, string DSection); // void DeleteCAAttachment(int attachmentID); // void DeleteD3ContainmentActionItem(int d3ContainmentActionID); // void DeleteD5D6CorrectivetAction(int d5d6CAID); @@ -67,8 +67,8 @@ public class CorrectiveActionDMOTests { // IEnumerable GetCAAttachmentsList(int caNo, string section); CAD3D5D7Due[] cAD3D5D7Dues = correctiveActionDMO.GetCAD3D5D7Due().ToArray(); // IEnumerable GetCAFindingsItemAttachments(int caFindingsID); - // CorrectiveAction GetCAItem(int caNo, int userID); - // CorrectiveAction GetCAItemReadOnly(int caNo, int userID); + // CorrectiveAction GetCAItem(int caNo, appSettings.UserId); + // CorrectiveAction GetCAItemReadOnly(int caNo, appSettings.UserId); // IEnumerable GetCASectionApprovalLog(int caNo); CASource[] cASources = correctiveActionDMO.GetCASourceList().ToArray(); // IEnumerable GetD3ContainmentActions(int caNo); @@ -89,17 +89,17 @@ public class CorrectiveActionDMOTests { // void InsertD3ContainmentAction(D3ContainmentAction model); // void InsertD5D6CorrectivetAction(D5D6CorrectivetAction model); // void InsertD7PreventiveAction(D7PreventiveAction model); - // bool IsAIAssignee(int userId, int caId); + // bool IsAIAssignee(appSettings.UserId, int caId); // bool IsLastSectionApprover(int caNo, string dSection); - // bool IsUserSectionApprover(int issueId, int userId); - // void RejectSection(int issueID, int userID, string DSection, string comments); - // void ReleaseLockOnDocument(int userID, int issueID); + // bool IsUserSectionApprover(int issueId, appSettings.UserId); + // void RejectSection(int issueID, appSettings.UserId, string DSection, string comments); + // void ReleaseLockOnDocument(appSettings.UserId, int issueID); // DateTime SetCAComplete(int issueID); // DateTime SetCAD3DueDate(int issueID); // DateTime SetCAD5D7DueDate(int issueID); // void SetD3D5D7NotificationDate(int caNo, string section); - // int StartApproval(int issueID, int userID, int worlflowNumber); - // void StartSectionApproval(int issueID, int userID, string DSection); + // int StartApproval(int issueID, appSettings.UserId, int worlflowNumber); + // void StartSectionApproval(int issueID, appSettings.UserId, string DSection); // void UpdateCorrectiveAction(CorrectiveAction model); // void UpdateD3ContainmentAction(D3ContainmentAction model); // void UpdateD5D6CorrectivetAction(D5D6CorrectivetAction model); diff --git a/Fab2ApprovalTests/DMO/EngChangeNoticeDMOTests.cs b/Fab2ApprovalTests/DMO/EngChangeNoticeDMOTests.cs index 067cfc3..65c4a85 100644 --- a/Fab2ApprovalTests/DMO/EngChangeNoticeDMOTests.cs +++ b/Fab2ApprovalTests/DMO/EngChangeNoticeDMOTests.cs @@ -58,30 +58,30 @@ public class EngChangeNoticeDMOTests { ECN_DMO ecnDMO = new(); // void CancelECN(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); - // bool ECNApproveCancelled_ExpiredDocument(int issueID, byte step, string comments, out bool lastStep, int userID, int documentType); - // void ECNResetTECNAtRejection(int ecnNumber, int userID, int docType); + // 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(); // IEnumerable GetECNApprovalLogHistory(int ecnNumber); // IEnumerable GetECNAttachments(int ecnNumber); IssuesViewModel[] issuesViewModelsB = ecnDMO.GetECN_TECNPendingApprovals(appSettings.UserId).ToArray(); // string GetFileName(string attachmentID); - // IEnumerable GetMyConvertedTECNsToECNs(int userID, int maxDays); - // IEnumerable GetMyExpiredTECNs(int userID, int maxDays); - // IEnumerable GetMyExpiringTECNs(int userID, int maxDays); + // IEnumerable GetMyConvertedTECNsToECNs(appSettings.UserId, int maxDays); + // IEnumerable GetMyExpiredTECNs(appSettings.UserId, int maxDays); + // IEnumerable GetMyExpiringTECNs(appSettings.UserId, int maxDays); // List GetRejectionOrginatorEmailList(int ecnNumber); int[] ints = ecnDMO.GetTECNNotificationUsers().ToArray(); // void InsertECNAttachment(ECNAttachment attach); // int PCRBExists(int pcrb); - // void ReassignOriginatorECN(int ecnNumber, int newOriginatorID, string comments, int userID); - // void ReleaseLockOnDocument(int 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); + // 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, int userid, int documentType, string ecnTypeString); - // int SubmitDocument(int issueID, int userID, int documentType, out int allowedITAR); - // int SubmitForCancellation(int issueID, byte currentStep, int userID, int documentType, string ecnType, int TECNOperationType); - // int SubmitTECNExtensionDocument(int issueID, int userID, int documentType, DateTime extensionDate); + // 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) { } diff --git a/Fab2ApprovalTests/DMO/EngineeringChangeNoticeDMOTests.cs b/Fab2ApprovalTests/DMO/EngineeringChangeNoticeDMOTests.cs new file mode 100644 index 0000000..e0ce35c --- /dev/null +++ b/Fab2ApprovalTests/DMO/EngineeringChangeNoticeDMOTests.cs @@ -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 _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(); + IServiceProvider serviceProvider = _WebApplicationFactory.Services.CreateScope().ServiceProvider; + _Logger = serviceProvider.GetRequiredService>(); + } + + 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 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(); + Assert.IsTrue(appSettings is not null); + if (System.Diagnostics.Debugger.IsAttached) + EngineeringChangeNoticeDMO(_Logger, appSettings, maxDays, ecnNumber); + _Logger?.LogInformation("{TestName} completed", _TestContext?.TestName); + NonThrowTryCatch(); + } + +} \ No newline at end of file diff --git a/Fab2ApprovalTests/DMO/LotDispositionDMOTests.cs b/Fab2ApprovalTests/DMO/LotDispositionDMOTests.cs index b2f4006..6d9f324 100644 --- a/Fab2ApprovalTests/DMO/LotDispositionDMOTests.cs +++ b/Fab2ApprovalTests/DMO/LotDispositionDMOTests.cs @@ -55,9 +55,9 @@ public class LotDispositionDMOTests { private static void LotDispositionDMO(ILogger? logger, AppSettings appSettings) { #pragma warning disable IDE0059 SetGlobalVars(logger, appSettings); - LotDispositionDMO lotDispositionDMO = new(appSettings); + LotDispositionDMO lotDispositionDMO = new(); // 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 DeleteLotDispoLot(int lotID); AuditList[] auditLists = lotDispositionDMO.GetAuditList(appSettings.UserId).ToArray(); @@ -68,8 +68,8 @@ public class LotDispositionDMOTests { IssuesViewModel[] issuesViewModelsB = lotDispositionDMO.GetECNList(appSettings.UserId).ToArray(); // string GetFileName(string attachmentID); // Attachment[] GetLotDispoAttachments(int issueID); - // LotDisposition GetLotDispositionItem(int issueID, out int isITAR, int userID); - // LotDisposition GetLotDispositionItemForRead(int issueID, out int isITAR, int userID); + // LotDisposition GetLotDispositionItem(int issueID, out int isITAR, appSettings.UserId); + // LotDisposition GetLotDispositionItemForRead(int issueID, out int isITAR, appSettings.UserId); IssuesViewModel[] issuesViewModelsC = lotDispositionDMO.GetLotDispositionList(appSettings.UserId).ToArray(); // Lot[] GetLotDispositionLots(int issueID); // LotDispositionLotSummaryViewModel GetLotDispositionLotSummary(int issueID); @@ -91,9 +91,9 @@ public class LotDispositionDMOTests { // int InsertLot(Lot lot, bool getLotInfo); // LotDisposition InsertLotDisposition(LotDisposition lotDispo); // void InsertLotDispositionAttachment(Attachment attach); - // void ReleaseLockOnDocument(int userID, int issueID); + // void ReleaseLockOnDocument(appSettings.UserId, int issueID); // 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 UpdateLotDisposition(LotDisposition lotDispo); // void UpdateLotScrapReleaseStatus(ScrapLot scrap); diff --git a/Fab2ApprovalTests/DMO/LotTravelerDMOTests.cs b/Fab2ApprovalTests/DMO/LotTravelerDMOTests.cs index 209f2cf..405ad2a 100644 --- a/Fab2ApprovalTests/DMO/LotTravelerDMOTests.cs +++ b/Fab2ApprovalTests/DMO/LotTravelerDMOTests.cs @@ -53,17 +53,17 @@ public class LotTravelerDMOTests { private static void LotTravelerDMO(ILogger? logger, AppSettings appSettings) { #pragma warning disable IDE0059 SetGlobalVars(logger, appSettings); - LotTravelerDMO lotTravelerDMO = new(appSettings); + LotTravelerDMO lotTravelerDMO = new(); // int CanAddLocationOperation(LTLotTravelerHoldSteps model); - // int CreateLotTravelerRevision(LTLotTravelerHoldSteps model, int userID); - // void CreateTraveler(int ltLotID, int workRequestID, int UserID); - // int CreateWorkRequestRevision(LTWorkRequest data, int userID); + // int CreateLotTravelerRevision(LTLotTravelerHoldSteps model, appSettings.UserId); + // void CreateTraveler(int ltLotID, int workRequestID, appSettings.UserId); + // int CreateWorkRequestRevision(LTWorkRequest data, appSettings.UserId); // void DeleteLot(int ltLotID); // IEnumerable GetLotList(int workRequestID); // IEnumerable GetLotListBasedOnSWRNumber(int swrNumber); // IEnumerable GetLotsWithTraveler(int workRequestID); // LTLotTravelerHeaderViewModel GetLotTravelerHeaderForReadOnly(int ltLotID, int revisionNumber); - // LTLotTravelerHeaderViewModel GetLotTravelerHeaderForUpdate(int ltLotID, int UserID); + // LTLotTravelerHeaderViewModel GetLotTravelerHeaderForUpdate(int ltLotID, appSettings.UserId); // IEnumerable GetLotTravelerHolStepsByRevision(int ltLotID, int revisionNumber); // IEnumerable GetLotTravelerRevisionHistory(int lotID); // IEnumerable GetLotTravHoldSteps(int ltLotID); @@ -76,15 +76,15 @@ public class LotTravelerDMOTests { // IEnumerable GetWorkReqRevisionHistory(int swrNumber); // List GetWorkReqRevisions(int swrNumber); // void InsertLot(LTLot lot); - // int InsertLotTravelerHoldStep(LTLotTravelerHoldSteps model, int userID); - // void ReassignOriginator(int workRequestID, int newOriginatorID, string comments, int userID); - // void ReleaseLockOnDocument(int userID, int workRequestID); - // void ReleaseLockOnLotTravelerUpdateDoc(int userID, int ltLotID); + // int InsertLotTravelerHoldStep(LTLotTravelerHoldSteps model, appSettings.UserId); + // void ReassignOriginator(int workRequestID, int newOriginatorID, string comments, appSettings.UserId); + // void ReleaseLockOnDocument(appSettings.UserId, int workRequestID); + // void ReleaseLockOnLotTravelerUpdateDoc(appSettings.UserId, int ltLotID); // void RestoreLotTravToPrevRevision(int prevLotTravRevID, int newLotTravRevID); - // int SubmitDocument(int workRequestID, int userID, int documentType, out int allowedITAR); - // int UpdateLotTravelerHoldStep(LTLotTravelerHoldSteps model, int userID); - // void UpdateLotTravlerExecution(int lotTravHoldStepID, string taskComments, bool CompletedFlag, int userID); - // int UpdateRevisedLotTravelerHoldStep(LTLotTravelerHoldSteps model, int userID); + // int SubmitDocument(int workRequestID, appSettings.UserId, int documentType, out int allowedITAR); + // int UpdateLotTravelerHoldStep(LTLotTravelerHoldSteps model, appSettings.UserId); + // void UpdateLotTravlerExecution(int lotTravHoldStepID, string taskComments, bool CompletedFlag, appSettings.UserId); + // int UpdateRevisedLotTravelerHoldStep(LTLotTravelerHoldSteps model, appSettings.UserId); if (lotTravelerDMO is null) { } #pragma warning restore IDE0059 } diff --git a/Fab2ApprovalTests/DMO/PartsRequestDMOTests.cs b/Fab2ApprovalTests/DMO/PartsRequestDMOTests.cs index 6b0b973..ff54936 100644 --- a/Fab2ApprovalTests/DMO/PartsRequestDMOTests.cs +++ b/Fab2ApprovalTests/DMO/PartsRequestDMOTests.cs @@ -54,9 +54,9 @@ public class PartsRequestDMOTests { private static void PartsRequestDMO(ILogger? logger, AppSettings appSettings) { #pragma warning disable IDE0059 SetGlobalVars(logger, appSettings); - PartsRequestDMO partsRequestDMO = new(appSettings); + PartsRequestDMO partsRequestDMO = new(); // void DeleteAttachment(int attachmentID); - // void DeleteDocument(int prNumber, int userid); + // void DeleteDocument(int prNumber, appSettings.UserId); // PartsRequest Get(int PRNumber); // IEnumerable GetApprovalLogHistory(int prNumber); // IEnumerable GetAttachments(int prNumber); @@ -65,7 +65,7 @@ public class PartsRequestDMOTests { PartsRequestList[] partsRequestLists = partsRequestDMO.GetPartsRequestList().ToArray(); // void Insert(PartsRequest pr); // void InsertAttachment(PartsRequestAttachment attach); - // void Submit(int prNumber, int userID); + // void Submit(int prNumber, appSettings.UserId); // void Update(PartsRequest pr); if (partsRequestDMO is null) { } #pragma warning restore IDE0059 diff --git a/Fab2ApprovalTests/DMO/TrainingDMOTests.cs b/Fab2ApprovalTests/DMO/TrainingDMOTests.cs index 5e6b637..c52d719 100644 --- a/Fab2ApprovalTests/DMO/TrainingDMOTests.cs +++ b/Fab2ApprovalTests/DMO/TrainingDMOTests.cs @@ -60,8 +60,8 @@ public class TrainingDMOTests { // bool CheckTrainingStatus(int trainingAssignmentID); // bool CheckValidDocAck(int docAckId); // int Create(int issueId); - // int CreateAssignment(int trainingId, int userId); - // void DeleteAssignmentByUserId(int userId); + // int CreateAssignment(int trainingId, appSettings.UserId); + // void DeleteAssignmentByUserId(appSettings.UserId); // void DeleteTraining(int trainingId); // void DeleteTrainingAssignment(int trainingAssignmentId); // void DeleteTrainingDocAck(int trainingAssignmentId); @@ -75,15 +75,15 @@ public class TrainingDMOTests { // List GetTrainees(int groupId); // Training GetTraining(int trainingId); // List GetTrainingAssignments(int TrainingID); - // List GetTrainingAssignmentsByUser(int TrainingID, int userID); - // List GetTrainingAssignmentsByUserID(int userID); + // List GetTrainingAssignmentsByUser(int TrainingID, appSettings.UserId); + // List GetTrainingAssignmentsByUserID(appSettings.UserId); // TrainingGroup GetTrainingGroupByID(int groupId); // TrainingGroup[] trainingGroups = trainingDMO.GetTrainingGroups().ToArray(); // int GetTrainingId(int issueId); // int GetTrainingIdByAssignment(int trainingAssignmentID); // Training[] trainingsC = trainingDMO.GetTrainings().ToArray(); - // bool IsUserAssigned(int userId, int trainingId); - // bool isUserTrainingMember(int groupId, int userId); + // bool IsUserAssigned(appSettings.UserId, int trainingId); + // bool isUserTrainingMember(int groupId, appSettings.UserId); // void reOpenTraining(int trainingId); // void SetTrainingFlag(int ECNNumber); // void UpdateAssignmentStatus(int trainingAssignmentID); diff --git a/Fab2ApprovalTests/DMO/WorkflowDMOTests.cs b/Fab2ApprovalTests/DMO/WorkflowDMOTests.cs index 7d41220..cc17938 100644 --- a/Fab2ApprovalTests/DMO/WorkflowDMOTests.cs +++ b/Fab2ApprovalTests/DMO/WorkflowDMOTests.cs @@ -50,22 +50,25 @@ public class WorkflowDMOTests { 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 + bool isLastStep; 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 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 GetApproversForCancelled_ExpiredTECNDocs(int ecnNumber); // string GetSubRoleItems(int issueID, int docType); // string GetSubRolesForPartsRequestNextStep(int prNumber); // WorkflowSteps GetWorkflowStep(int docTypeID, int wfNumber, int stepNumber); // 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 Reject(int issueID, byte step, string comments, int userID, int docType); - // void RejectTECNExtension(int ecnNumber, 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, appSettings.UserId, int docType); + // void RejectTECNExtension(int ecnNumber, byte step, string comments, appSettings.UserId, int docType); if (workflowDMO is null) { } #pragma warning restore IDE0059 } @@ -74,13 +77,14 @@ public class WorkflowDMOTests { [Ignore] #endif [TestMethod] - public void WorkflowDMOIsAttachedOnly() { + [DataRow(82700, "comment", 3)] + public void WorkflowDMOIsAttachedOnly(int issueID, string comments, int documentType) { _Logger?.LogInformation("Starting Web Application"); IServiceProvider? serviceProvider = _WebApplicationFactory?.Services.CreateScope().ServiceProvider; AppSettings? appSettings = serviceProvider?.GetRequiredService(); Assert.IsTrue(appSettings is not null); if (System.Diagnostics.Debugger.IsAttached) - WorkflowDMO(_Logger, appSettings); + WorkflowDMO(_Logger, appSettings, issueID, comments, documentType); _Logger?.LogInformation("{TestName} completed", _TestContext?.TestName); NonThrowTryCatch(); } diff --git a/Fab2ApprovalTests/General/CorrectiveActionTests.cs b/Fab2ApprovalTests/General/CorrectiveActionTests.cs index d48ef7f..575489c 100644 --- a/Fab2ApprovalTests/General/CorrectiveActionTests.cs +++ b/Fab2ApprovalTests/General/CorrectiveActionTests.cs @@ -102,7 +102,7 @@ public class CorrectiveActionTests { internal static void TestCorrectiveAction(ILogger? logger, AppSettings appSettings, int caNo) { SetGlobalVars(logger, appSettings); CorrectiveAction ca; - CorrectiveActionDMO caDMO = new(appSettings); + CorrectiveActionDMO caDMO = new(); ca = caDMO.GetCAItemReadOnly(caNo, appSettings.UserId); if (ca is null) throw new Exception($"{nameof(ca)}"); diff --git a/azure-pipelines.yml b/azure-pipelines.yml index eb80412..a50f299 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -15,10 +15,11 @@ trigger: variables: buildConfiguration: "Release" - targetFrameworkVersion: 'v4.8' - coreVersion: 'na' - assemblyTitle: 'Fab2ApprovalSystem' - architecture: 'x64' + targetFrameworkVersion: "v4.8" + coreVersion: "na" + assemblyTitle: "Fab2ApprovalSystem" + architecture: "x64" + msBuild: "C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/MSBuild/Current/Bin/MSBuild.exe" stages: - stage: Development @@ -28,46 +29,18 @@ stages: demands: Fab2ApprovalSystem-Dev variables: ASPNETCORE_ENVIRONMENT: "Development" - configuration: 'Debug' + configuration: "Debug" jobs: - - 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 + - job: Debug 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: | echo BuildId: $(Build.BuildId) echo Build reason: $(Build.Reason) @@ -79,52 +52,63 @@ stages: echo Configuration: $(Configuration) echo Target Framework version: $(TargetFrameworkVersion) echo Assembly title: $(AssemblyTitle) + echo MSBuild: $(msBuild) 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: | - 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" + 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" + workingDirectory: Fab2ApprovalMKLink + 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' - workingDirectory: Fab2ApprovalSystem - displayName: "Framework Restore" + - script: | + dotnet user-secrets init + 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' - workingDirectory: Fab2ApprovalSystem - displayName: "Framework Build" + - script: dotnet build --configuration $(buildConfiguration) + workingDirectory: Fab2ApprovalMKLink + 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 - displayName: "Framework Pack" - \ No newline at end of file + 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"