diff --git a/01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/CREATE_DB_OBJECTS.sql b/01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/CREATE_DB_OBJECTS.sql index 71835c5..2bffd9f 100644 Binary files a/01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/CREATE_DB_OBJECTS.sql and b/01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/CREATE_DB_OBJECTS.sql differ diff --git a/01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/Update/API_Procedures.sql b/01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/Update/API_Procedures.sql new file mode 100644 index 0000000..07e4bd1 --- /dev/null +++ b/01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/Update/API_Procedures.sql @@ -0,0 +1,132 @@ +select * From TBSIG_ENVELOPE where ENVELOPE_UUID = '69FA2F69-0616-4324-A804-AFF8F828BACE' + +-- ============================================= +-- Author: DD MS +-- Changed: +-- ============================================= +ALTER PROCEDURE [dbo].[PRSIG_API_CREATE_ENVELOPE] @USER_ID INTEGER, + @TITLE VARCHAR(128), + @TFAEnabled BIT, + @MESSAGE VARCHAR(250), + @OUT_UID VARCHAR(36) OUTPUT +AS +BEGIN + DECLARE @UID VARCHAR(36) + SET @OUT_UID = '' + SELECT @UID = NEWID() + + INSERT INTO TBSIG_ENVELOPE + (USER_ID,STATUS,ENVELOPE_UUID,MESSAGE,TITLE,TFA_ENABLED) + VALUES + (@USER_ID,1002,@UID,@MESSAGE,@TITLE,CONVERT(BIT,@TFAEnabled)); + + IF EXISTS(SELECT GUID FROM TBSIG_ENVELOPE WHERE ENVELOPE_UUID = @UID) + SET @OUT_UID = @UID +END + +-- ============================================= +-- Author: DD MS +-- Changed: +-- ============================================= +ALTER PROCEDURE [dbo].[PRSIG_API_CREATE_RECEIVER] @ENV_UID VARCHAR(36), + @EMAIL_ADRESS VARCHAR(250), + @SALUTATION VARCHAR(100), + @PHONE VARCHAR(20), + @OUT_RECEIVER_ID INTEGER OUTPUT +AS +BEGIN + DECLARE + @RECEIVER_ID INTEGER, + @ENV_ID INTEGER, + @SIGNATUREID VARCHAR(64), + @SEQUENCE INTEGER, + @ACCESS_CODE VARCHAR(5) + + IF LEN(@PHONE) < 9 + SET @PHONE = '' + SELECT @ENV_ID = GUID FROM TBSIG_ENVELOPE WHERE ENVELOPE_UUID = @ENV_UID; + SET @OUT_RECEIVER_ID = 0 + IF NOT EXISTS(SELECT GUID FROM TBSIG_RECEIVER WHERE EMAIL_ADDRESS = @EMAIL_ADRESS) + BEGIN + SELECT @SIGNATUREID = CONVERT(VARCHAR(40), HASHBYTES('SHA1', UPPER(@EMAIL_ADRESS)), 2); + INSERT INTO TBSIG_RECEIVER(EMAIL_ADDRESS,[SIGNATURE]) VALUES (@EMAIL_ADRESS,@SIGNATUREID); + END + SELECT @RECEIVER_ID = GUID FROM TBSIG_RECEIVER WHERE EMAIL_ADDRESS = @EMAIL_ADRESS; + SELECT @SEQUENCE = COALESCE(MAX(SEQUENCE),0) FROM TBSIG_ENVELOPE_RECEIVER WHERE ENVELOPE_ID = @ENV_ID; + SELECT @ACCESS_CODE = [dbo].[FNDD_Generate5DigitRandomCode] (); + + INSERT INTO TBSIG_ENVELOPE_RECEIVER (ENVELOPE_ID,RECEIVER_ID,SEQUENCE,NAME,ACCESS_CODE,PHONE_NUMBER ) + VALUES + (@ENV_ID,@RECEIVER_ID,@SEQUENCE,@SALUTATION,@ACCESS_CODE,@PHONE); + + SELECT @OUT_RECEIVER_ID = GUID FROM TBSIG_ENVELOPE_RECEIVER WHERE ENVELOPE_ID = @ENV_ID AND RECEIVER_ID = @RECEIVER_ID; +END + + +-- ============================================= +-- Author: DD MS +-- Changed: +-- ============================================= +ALTER PROCEDURE [dbo].[PRSIG_API_ADD_DOC] @ENV_UID VARCHAR(36), + @BYTE_DATA VARBINARY(MAX), + @OUT_DOCID INTEGER OUTPUT +AS +BEGIN + DECLARE + @ENV_ID INTEGER + SELECT @ENV_ID = GUID FROM TBSIG_ENVELOPE WHERE ENVELOPE_UUID = @ENV_UID; + SET @OUT_DOCID = 0 + + IF NOT EXISTS(SELECT GUID FROM TBSIG_ENVELOPE_DOCUMENT WHERE ENVELOPE_ID = @ENV_ID) + INSERT INTO TBSIG_ENVELOPE_DOCUMENT (ENVELOPE_ID,BYTE_DATA,FILENAME,FILEPATH) + VALUES(@ENV_ID,@BYTE_DATA,'API ADD','API BASED'); + ELSE + PRINT 'THERE IS ALREADY A DOC FOR THIS ENVELOPE' + + SELECT @OUT_DOCID = GUID FROM TBSIG_ENVELOPE_RECEIVER WHERE ENVELOPE_ID = @ENV_ID; +END +GO +-- ============================================= +-- Author: DD MS +-- Changed: +-- ============================================= +ALTER PROCEDURE [dbo].[PRSIG_API_ADD_DOC_RECEIVER_ELEM] @DOC_ID INTEGER, + @RECEIVER_ID INTEGER, + @POSITION_X FLOAT, + @POSITION_Y FLOAT, + @PAGE INTEGER, + @OUT_SUCCESS BIT OUTPUT +AS +BEGIN + + SET @OUT_SUCCESS = 0 + + IF NOT EXISTS(SELECT GUID FROM TBSIG_DOCUMENT_RECEIVER_ELEMENT WHERE DOCUMENT_ID = @DOC_ID and RECEIVER_ID = @RECEIVER_ID) + BEGIN + INSERT INTO TBSIG_DOCUMENT_RECEIVER_ELEMENT (DOCUMENT_ID,RECEIVER_ID,ELEMENT_TYPE,POSITION_X,POSITION_Y) + VALUES(@DOC_ID,@RECEIVER_ID,1,@POSITION_X,@POSITION_Y); + SET @OUT_SUCCESS = 1; + END +END +GO +-- ============================================= +-- Author: DD MS +-- Changed: +-- ============================================= +CREATE PROCEDURE [dbo].[PRSIG_API_ADD_HISTORY_STATE] @ENV_UID VARCHAR(36), + @STATUS_ID INTEGER, + @USER_ID INTEGER, + @OUT_SUCCESS BIT OUTPUT +AS +BEGIN + DECLARE + @ENV_ID INTEGER,@USERREF VARCHAR(250) + SELECT @ENV_ID = GUID FROM TBSIG_ENVELOPE WHERE ENVELOPE_UUID = @ENV_UID; + SELECT @USERREF = EMAIL FROM TBDD_USER WHERE GUID = @USER_ID; + SET @OUT_SUCCESS = 0 + BEGIN + INSERT INTO [dbo].[TBSIG_ENVELOPE_HISTORY] ([ENVELOPE_ID],[USER_REFERENCE],[STATUS],[ACTION_DATE]) + VALUES(@ENV_ID,@USERREF,@STATUS_ID,GETDATE()); + SET @OUT_SUCCESS = 1; + END +END diff --git a/01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/Update/API_Test_Add_Envelope.sql b/01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/Update/API_Test_Add_Envelope.sql new file mode 100644 index 0000000..9befe28 --- /dev/null +++ b/01_SMART_UP_TOOLS/10_ENVELOPE_CREATOR/Update/API_Test_Add_Envelope.sql @@ -0,0 +1,74 @@ +USE [DD_ECM] +GO +--Einen Envelope anlegen +DECLARE @OUT_UID varchar(36) + +EXEC [dbo].[PRSIG_API_CREATE_ENVELOPE] + @USER_ID = 1, + @TITLE = N'Anlage über Procedure', + @TFAEnabled = 0, --or TFA + @MESSAGE = N'Hallo aus dem Off', + @OUT_UID = @OUT_UID OUTPUT + +SELECT @OUT_UID as N'@OUT_UID'; + +--Einen Receiver anlegen +DECLARE @OUT_RECEIVER_ID int +EXEC [dbo].[PRSIG_API_CREATE_RECEIVER] + @ENV_UID = @OUT_UID, + @EMAIL_ADRESS = N'h.tek@digitaldata.works', + @SALUTATION = N'Hakan Tek', + @PHONE = N'54909', + @OUT_RECEIVER_ID = @OUT_RECEIVER_ID OUTPUT + +SELECT @OUT_RECEIVER_ID as N'@OUT_RECEIVER_ID' + + +GO +--Document erstellen +DECLARE @BYTE_DATA1 as VARBINARY(MAX) +SET @BYTE_DATA1 = CONVERT(VARBINARY(MAX),'YOURVARBINARYVALUES') +DECLARE @OUT_DOCID int + +EXEC [dbo].[PRSIG_API_ADD_DOC] + @ENV_UID = @OUT_UID, + @BYTE_DATA = @BYTE_DATA1, + @OUT_DOCID = @OUT_DOCID OUTPUT + +SELECT @OUT_DOCID as N'@OUT_DOCID' +GO + + +--RECEIVER ELEMENT anlegen +DECLARE @OUT_SUCCESS bit + +EXEC [dbo].[PRSIG_API_ADD_DOC_RECEIVER_ELEM] + @DOC_ID = 1353, + @RECEIVER_ID = 4, --@OUT_UID + @POSITION_X = '2.474479675293', + @POSITION_Y = '4.36164665222168', + @PAGE = 1, + @OUT_SUCCESS = @OUT_SUCCESS OUTPUT + +SELECT @OUT_SUCCESS as N'@OUT_SUCCESS' + + +GO + +--Status Queuing +DECLARE @OUT_SUCCESS bit + +EXEC [dbo].[PRSIG_API_ADD_HISTORY_STATE] + @ENV_UID = N'69FA2F69-0616-4324-A804-AFF8F828BACE', + @STATUS_ID = 1003, + @USER_ID = 1, + @OUT_SUCCESS = @OUT_SUCCESS OUTPUT + +SELECT @OUT_SUCCESS as N'@OUT_SUCCESS' + + +GO +--Dann die Emails versenden: hier muss die API einen eigenen Aufruf starten. +Wahrscheinl +Create API Logic to send emails: EnvelopeGenerator.Common\Services\Emailservice.vb +SendDocumentReceivedEmail \ No newline at end of file