using Dapper; using DigitalData.Core.Exceptions; using EnvelopeGenerator.Domain.Entities; using EnvelopeGenerator.Application.Common.Interfaces.SQLExecutor; namespace EnvelopeGenerator.Application.Common.SQL; /// /// /// public class DocumentCreateReadSQL : ISQL { /// /// Base64, OUT_UID /// public string Raw => @" DECLARE @BYTE_DATA1 as VARBINARY(MAX) SET @BYTE_DATA1 = @ByteData DECLARE @OUT_DOCID int EXEC [dbo].[PRSIG_API_ADD_DOC] {0}, @BYTE_DATA1, @OUT_DOCID OUTPUT SELECT TOP(1) * FROM [dbo].[TBSIG_ENVELOPE_DOCUMENT] WHERE [GUID] = @OUT_DOCID "; /// /// /// /// /// public static DynamicParameters CreateParmas(string base64) { try { var parameters = new DynamicParameters(); byte[] byteData = Convert.FromBase64String(base64); parameters.Add("ByteData", byteData, System.Data.DbType.Binary); return parameters; } catch(FormatException ex) { throw new BadRequestException(ex.Message.Replace("input", "dataAsBase64")); } } }