Add debug Dapper test script
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
#r "nuget: Dapper, 2.1.35"
|
||||
#r "nuget: Microsoft.Data.SqlClient, 5.2.2"
|
||||
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
using Dapper;
|
||||
using Microsoft.Data.SqlClient;
|
||||
|
||||
var connectionString = "Server=localhost,1434;Database=ScopingTool;User Id=sa;Password=ScopingTool_SA_2024Dev;TrustServerCertificate=true";
|
||||
var testMisNumber = "TEST_DAPPER_001";
|
||||
|
||||
using var connection = new SqlConnection(connectionString);
|
||||
await connection.OpenAsync();
|
||||
|
||||
// Cleanup
|
||||
await connection.ExecuteAsync("DELETE FROM MisData_Curr WHERE MisNumber = @MisNumber", new { MisNumber = testMisNumber });
|
||||
await connection.ExecuteAsync("DELETE FROM MisData_Hist WHERE MisNumber = @MisNumber", new { MisNumber = testMisNumber });
|
||||
await connection.ExecuteAsync("DELETE FROM mis_temp WHERE MIS_IIS_Number = @MisNumber OR MIS_IIS_Number = @MisNumberWithPrefix",
|
||||
new { MisNumber = testMisNumber, MisNumberWithPrefix = $"IIS_{testMisNumber}" });
|
||||
|
||||
Console.WriteLine("Cleanup done");
|
||||
|
||||
// Insert test data
|
||||
await connection.ExecuteAsync(
|
||||
@"INSERT INTO mis_temp (MIS_IIS_Number, PartNumber, Site, Version, CharacterNumber,
|
||||
TestDescription, SamplingType, SamplingValue, ToolsGauges, WorkInstructions, Release_Date)
|
||||
VALUES (@MisNumber, '12345', 'SITE1', 'A', '1',
|
||||
'Test Description', 'Random', '5', 'Gauge1', 'Instruction1', @ReleaseDate)",
|
||||
new { MisNumber = testMisNumber, ReleaseDate = DateTime.Now });
|
||||
|
||||
Console.WriteLine("Inserted staging data");
|
||||
|
||||
// Check staging data
|
||||
var stagingCount = await connection.QuerySingleAsync<int>(
|
||||
"SELECT COUNT(*) FROM mis_temp WHERE MIS_IIS_Number = @MisNumber",
|
||||
new { MisNumber = testMisNumber });
|
||||
Console.WriteLine($"Staging count before proc: {stagingCount}");
|
||||
|
||||
// Run procedure
|
||||
Console.WriteLine("Running stored procedure...");
|
||||
await connection.ExecuteAsync("EXEC dbo.usp_ProcessMisStagingData @SaveChanges = 1");
|
||||
Console.WriteLine("Stored procedure completed");
|
||||
|
||||
// Check result
|
||||
var record = await connection.QuerySingleOrDefaultAsync<dynamic>(
|
||||
@"SELECT MisNumber, ItemNumber, BranchCode, RevID, CharNumber, Status, ObsoleteDate
|
||||
FROM MisData_Curr
|
||||
WHERE MisNumber = @MisNumber",
|
||||
new { MisNumber = testMisNumber });
|
||||
|
||||
if (record == null)
|
||||
{
|
||||
Console.WriteLine("FAIL: Record is null!");
|
||||
|
||||
// Additional debugging - check if it got deleted during the proc
|
||||
var stagingCountAfter = await connection.QuerySingleAsync<int>(
|
||||
"SELECT COUNT(*) FROM mis_temp WHERE MIS_IIS_Number = @MisNumber",
|
||||
new { MisNumber = testMisNumber });
|
||||
Console.WriteLine($"Staging count after proc: {stagingCountAfter}");
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine($"SUCCESS: Found record - Status={record.Status}");
|
||||
}
|
||||
|
||||
// Cleanup
|
||||
await connection.ExecuteAsync("DELETE FROM MisData_Curr WHERE MisNumber = @MisNumber", new { MisNumber = testMisNumber });
|
||||
await connection.ExecuteAsync("DELETE FROM MisData_Hist WHERE MisNumber = @MisNumber", new { MisNumber = testMisNumber });
|
||||
await connection.ExecuteAsync("DELETE FROM mis_temp WHERE MIS_IIS_Number = @MisNumber OR MIS_IIS_Number = @MisNumberWithPrefix",
|
||||
new { MisNumber = testMisNumber, MisNumberWithPrefix = $"IIS_{testMisNumber}" });
|
||||
|
||||
Console.WriteLine("Test complete");
|
||||
Reference in New Issue
Block a user