Refactor SQL execution in DocumentCreateReadSQL
Changed namespace for DocumentCreateReadSQL and updated SQL command to use formatted strings for parameters. Simplified DocumentExecutor to directly use the formatted SQL, enhancing clarity and reducing complexity in parameter handling.
This commit is contained in:
parent
a781440252
commit
ad855b77cd
@ -10,17 +10,17 @@ namespace EnvelopeGenerator.Application.SQL;
|
|||||||
public class DocumentCreateReadSQL : ISQL<EnvelopeDocument>
|
public class DocumentCreateReadSQL : ISQL<EnvelopeDocument>
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
///
|
/// Base64, OUT_UID
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string Raw => @"
|
public string Raw => @"
|
||||||
USE [DD_ECM]
|
USE [DD_ECM]
|
||||||
|
|
||||||
DECLARE @BYTE_DATA1 as VARBINARY(MAX)
|
DECLARE @BYTE_DATA1 as VARBINARY(MAX)
|
||||||
SET @BYTE_DATA1 = CONVERT(VARBINARY(MAX),'@Base64')
|
SET @BYTE_DATA1 = CONVERT(VARBINARY(MAX),{0})
|
||||||
DECLARE @OUT_DOCID int
|
DECLARE @OUT_DOCID int
|
||||||
|
|
||||||
EXEC [dbo].[PRSIG_API_ADD_DOC]
|
EXEC [dbo].[PRSIG_API_ADD_DOC]
|
||||||
@ENV_UID = @OUT_UID,
|
@ENV_UID = {1},
|
||||||
@BYTE_DATA = @BYTE_DATA1,
|
@BYTE_DATA = @BYTE_DATA1,
|
||||||
@OUT_DOCID = @OUT_DOCID OUTPUT
|
@OUT_DOCID = @OUT_DOCID OUTPUT
|
||||||
|
|
||||||
|
|||||||
@ -18,9 +18,9 @@ public class DocumentExecutor : SQLExecutor, IDocumentExecutor
|
|||||||
{
|
{
|
||||||
using var connection = new SqlConnection(Params.ConnectionString);
|
using var connection = new SqlConnection(Params.ConnectionString);
|
||||||
var sql = Provider.GetRequiredService<DocumentCreateReadSQL>();
|
var sql = Provider.GetRequiredService<DocumentCreateReadSQL>();
|
||||||
|
var formattedSql = string.Format(sql.Raw, base64, envelope_uuid);
|
||||||
await connection.OpenAsync(cancellation);
|
await connection.OpenAsync(cancellation);
|
||||||
var parameters = DocumentCreateReadSQL.CreateParmas(base64, envelope_uuid);
|
var documents = await connection.QueryAsync<EnvelopeDocument>(formattedSql);
|
||||||
var documents = await connection.QueryAsync<EnvelopeDocument>(sql.Raw, parameters);
|
|
||||||
return documents.FirstOrDefault()
|
return documents.FirstOrDefault()
|
||||||
?? throw new InvalidOperationException($"Document creation failed. Parameters:" +
|
?? throw new InvalidOperationException($"Document creation failed. Parameters:" +
|
||||||
$"base64={base64}, envelope_uuid='{envelope_uuid}'.");
|
$"base64={base64}, envelope_uuid='{envelope_uuid}'.");
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user