Audit object was being passed as byref but getting re-instantiated within the method

This commit is contained in:
Mike Phares 2025-04-01 13:38:06 -07:00
parent f110fba4cd
commit b3fb328b98
3 changed files with 13 additions and 12 deletions

View File

@ -58,6 +58,7 @@ public class AuditController : Controller {
try { try {
bool isAdmin = (bool)Session[GlobalVars.IS_ADMIN]; bool isAdmin = (bool)Session[GlobalVars.IS_ADMIN];
int userId = (int)Session[GlobalVars.SESSION_USERID]; int userId = (int)Session[GlobalVars.SESSION_USERID];
audit = auditDMO.GetAuditItem(issueID, userId);
AuditEdit auditEdit = auditDMO.GetAuditEdit(issueID, audit, isAdmin, userId); AuditEdit auditEdit = auditDMO.GetAuditEdit(issueID, audit, isAdmin, userId);
if (auditEdit.RedirectToAction) if (auditEdit.RedirectToAction)
return RedirectToAction("ReadOnlyAudit", new { auditNo = audit.AuditNo }); return RedirectToAction("ReadOnlyAudit", new { auditNo = audit.AuditNo });

View File

@ -401,7 +401,6 @@ public class AuditDMO {
result.Is8DQA = "true"; result.Is8DQA = "true";
} }
audit = GetAuditItem(issueID, userId);
// transform audit users from string to list, delimited by a comma. // transform audit users from string to list, delimited by a comma.
if (audit.Auditees == null) { if (audit.Auditees == null) {
result.AuditeeNames = new List<string>(); result.AuditeeNames = new List<string>();

View File

@ -51,7 +51,7 @@ public class AuditDMOTests {
try { throw new Exception(); } catch (Exception) { } try { throw new Exception(); } catch (Exception) { }
} }
private static void AuditDMO(ILogger? logger, AppSettings appSettings) { private static void AuditDMO(ILogger? logger, AppSettings appSettings, int auditNo, bool isAdmin) {
#pragma warning disable IDE0059 #pragma warning disable IDE0059
SetGlobalVars(logger, appSettings); SetGlobalVars(logger, appSettings);
AuditDMO auditDMO = new(appSettings); AuditDMO auditDMO = new(appSettings);
@ -61,25 +61,25 @@ public class AuditDMOTests {
AuditedArea[] auditedAreas = auditDMO.GetAuditAreaList().ToArray(); AuditedArea[] auditedAreas = auditDMO.GetAuditAreaList().ToArray();
// IEnumerable<int> GetAuditFindingCategoryIdsByFindingId(int auditFindingsID); // IEnumerable<int> GetAuditFindingCategoryIdsByFindingId(int auditFindingsID);
// AuditFindings GetAuditFindingsByID(int auditFindingsID); // AuditFindings GetAuditFindingsByID(int auditFindingsID);
// IEnumerable<AuditFindings> GetAuditFindingsList(int auditNo); AuditFindings[] auditFindings = auditDMO.GetAuditFindingsList(auditNo).ToArray();
// Audit GetAuditItem(int auditNo, appSettings.UserId); Audit auditB = auditDMO.GetAuditItem(auditNo, appSettings.UserId);
// Audit GetAuditItemReadOnly(int auditNo, appSettings.UserId); Audit auditC = new();
AuditEdit auditEdit = auditDMO.GetAuditEdit(auditNo, auditC, isAdmin, appSettings.UserId);
Audit auditD = auditDMO.GetAuditItemReadOnly(auditNo, appSettings.UserId);
Auditor[] auditors = auditDMO.GetAuditorList().ToArray(); Auditor[] auditors = auditDMO.GetAuditorList().ToArray();
// IEnumerable<AuditReportAttachment> GetAuditReportAttachments(int auditNo); AuditReportAttachment[] auditReportAttachments = auditDMO.GetAuditReportAttachments(auditNo).ToArray();
// C_8DAuditedStandard[] c_8DAuditedStandards = auditDMO.GetAuditStandardList().ToArray(); // C_8DAuditedStandard[] c_8DAuditedStandards = auditDMO.GetAuditStandardList().ToArray();
AuditType[] auditTypes = auditDMO.GetAuditTypeList().ToArray(); AuditType[] auditTypes = auditDMO.GetAuditTypeList().ToArray();
// CAFindings GetCAFindingsItem(int caFindingsID); // CAFindings GetCAFindingsItem(int caFindingsID);
// IEnumerable<AuditReportAttachment> GetCAFindingsItemAttachments(int caFindingsID); // IEnumerable<AuditReportAttachment> GetCAFindingsItemAttachments(int caFindingsID);
// IEnumerable<CAFindings> GetCAFindingsList(int auditNo); CAFindings[] caFindings = auditDMO.GetCAFindingsList(auditNo).ToArray();
CANoList[] cANoLists = auditDMO.GetCorrectiveActionNoList().ToArray(); CANoList[] cANoLists = auditDMO.GetCorrectiveActionNoList().ToArray();
// int GetOpenCACountByAuditNo(int auditNo); int openCACountByAuditNo = auditDMO.GetOpenCACountByAuditNo(auditNo);
CAUserList[] cAUserLists = auditDMO.GetUserList().ToArray(); CAUserList[] cAUserLists = auditDMO.GetUserList().ToArray();
// Audit InsertAudit(Audit audit);
// 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(appSettings.UserId, int issueID); // void ReleaseLockOnDocument(appSettings.UserId, int issueID);
// 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
@ -89,13 +89,14 @@ public class AuditDMOTests {
[Ignore] [Ignore]
#endif #endif
[TestMethod] [TestMethod]
public void AuditDMOIsAttachedOnly() { [DataRow(250, true)]
public void AuditDMOIsAttachedOnly(int auditNo, bool isAdmin) {
_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)
AuditDMO(_Logger, appSettings); AuditDMO(_Logger, appSettings, auditNo, isAdmin);
_Logger?.LogInformation("{TestName} completed", _TestContext?.TestName); _Logger?.LogInformation("{TestName} completed", _TestContext?.TestName);
NonThrowTryCatch(); NonThrowTryCatch();
} }