Ready to test new column

This commit is contained in:
Mike Phares 2025-01-13 16:56:42 -07:00 committed by Tucker Chase (CSC FI SPS MESLEO)
parent 123bbdb9fe
commit 1b22ffa439
20 changed files with 315 additions and 155 deletions

View File

@ -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"
```

View File

@ -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 });

View File

@ -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);

View File

@ -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<int>();

View File

@ -380,6 +380,43 @@
</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 class="row">
<div class="col-sm-3">
@ -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(),

View File

@ -325,6 +325,16 @@
</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 class="row">
<div class="col-sm-3">

View File

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

View File

@ -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);

View File

@ -62,8 +62,8 @@ public class AuditDMOTests {
// IEnumerable<int> GetAuditFindingCategoryIdsByFindingId(int auditFindingsID);
// AuditFindings GetAuditFindingsByID(int auditFindingsID);
// IEnumerable<AuditFindings> 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<AuditReportAttachment> 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

View File

@ -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<CCAttachment> GetCCAttachment(int planNumber);
// IEnumerable<CCMeetingAttachment> GetMeetingAttachments(int meetingID);
// IEnumerable<MeetingDecisionSummaryList> GetMeetingDecisionSummaryList(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) { }
#pragma warning restore IDE0059
}

View File

@ -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<CA_Attachment> GetCAAttachmentsList(int caNo, string section);
CAD3D5D7Due[] cAD3D5D7Dues = correctiveActionDMO.GetCAD3D5D7Due().ToArray();
// IEnumerable<CA_Attachment> 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<CASectionApproval> GetCASectionApprovalLog(int caNo);
CASource[] cASources = correctiveActionDMO.GetCASourceList().ToArray();
// IEnumerable<D3ContainmentAction> 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);

View File

@ -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<ApprovalLogHistory> GetECNApprovalLogHistory(int ecnNumber);
// IEnumerable<ECNAttachment> GetECNAttachments(int ecnNumber);
IssuesViewModel[] issuesViewModelsB = ecnDMO.GetECN_TECNPendingApprovals(appSettings.UserId).ToArray();
// string GetFileName(string attachmentID);
// IEnumerable<IssuesViewModel> GetMyConvertedTECNsToECNs(int userID, int maxDays);
// IEnumerable<IssuesViewModel> GetMyExpiredTECNs(int userID, int maxDays);
// IEnumerable<IssuesViewModel> GetMyExpiringTECNs(int userID, int maxDays);
// IEnumerable<IssuesViewModel> GetMyConvertedTECNsToECNs(appSettings.UserId, int maxDays);
// IEnumerable<IssuesViewModel> GetMyExpiredTECNs(appSettings.UserId, int maxDays);
// IEnumerable<IssuesViewModel> GetMyExpiringTECNs(appSettings.UserId, int maxDays);
// 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, 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) { }

View 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();
}
}

View File

@ -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);

View File

@ -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<LTLot> GetLotList(int workRequestID);
// IEnumerable<LTLot> GetLotListBasedOnSWRNumber(int swrNumber);
// IEnumerable<LotWithTraveler> GetLotsWithTraveler(int workRequestID);
// 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<RevisionHistory> GetLotTravelerRevisionHistory(int lotID);
// IEnumerable<LTLotTravelerHoldSteps> GetLotTravHoldSteps(int ltLotID);
@ -76,15 +76,15 @@ public class LotTravelerDMOTests {
// IEnumerable<RevisionHistory> GetWorkReqRevisionHistory(int swrNumber);
// List<Revision> 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
}

View File

@ -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<ApprovalLogHistory> GetApprovalLogHistory(int prNumber);
// IEnumerable<PartsRequestAttachmentList> 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

View File

@ -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<int> GetTrainees(int groupId);
// Training GetTraining(int trainingId);
// List<TrainingAssignment> GetTrainingAssignments(int TrainingID);
// List<TrainingAssignment> GetTrainingAssignmentsByUser(int TrainingID, int userID);
// List<TrainingAssignment> GetTrainingAssignmentsByUserID(int userID);
// List<TrainingAssignment> GetTrainingAssignmentsByUser(int TrainingID, appSettings.UserId);
// List<TrainingAssignment> 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);

View File

@ -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<AppSettings>();
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();
}

View File

@ -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)}");

View File

@ -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"
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"