SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO IF OBJECT_ID('[dbo].[sp_ImportFelhasznaloBelepes]') IS NOT NULL BEGIN DROP PROCEDURE [dbo].[sp_ImportFelhasznaloBelepes] END GO -- ============================================= -- Description: -- ============================================= CREATE PROCEDURE [dbo].[sp_ImportFelhasznaloBelepes] @pIntezmenyId INT ,@pTanevId INT ,@pModifierId INT ,@pFelhasznaloBelepesImportXml XML AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; BEGIN TRY SET XACT_ABORT ON DECLARE @TempFelhasznaloBelepes TABLE ( C_KOTELEZOVALTOZTATNI CHAR(1) NULL ,C_MEGHIUSULTBELEPESEK INT NULL ,C_UTOLSOBELEPES DATETIME NULL ,C_JELSZO NVARCHAR(64) NULL ,C_JELSZOVALTOZTATASIDEJE DATETIME NULL ,C_SO NVARCHAR(64) NULL ,C_BEJELENTKEZESINEV NVARCHAR(255) NOT NULL ,C_NEPTUNNAPLOJELSZO NVARCHAR(64) NULL ,C_GUID NVARCHAR(36) NOT NULL ,C_FELHASZNALOID INT NOT NULL ,C_GONDVISELOID INT NULL ,C_INTEZMENYID INT NOT NULL ,C_TANEVID INT NOT NULL ,TOROLT CHAR(1) NOT NULL ,SERIAL INT NOT NULL ,LASTCHANGED DATETIME NOT NULL ,CREATED DATETIME NOT NULL ,MODIFIER INT NULL ,CREATOR INT NULL ,NNID INT NULL ,ELOZOTANEVIREKORDID INT NULL ) INSERT INTO @TempFelhasznaloBelepes SELECT 'T' C_KOTELEZOVALTOZTATNI ,0 C_MEGHIUSULTBELEPESEK ,NULL C_UTOLSOBELEPES ,sor.value('(Jelszo)[1]', 'nvarchar(64)') C_JELSZO ,NULL C_JELSZOVALTOZTATASIDEJE ,sor.value('(Salt)[1]', 'nvarchar(64)') C_SO ,sor.value('(Felhasznalonev)[1]', 'nvarchar(255)') C_BEJELENTKEZESINEV ,NULL C_NEPTUNNAPLOJELSZO ,NEWID() C_GUID ,sor.value('number((FelhasznaloId)[1])', 'int') C_FELHASZNALOID ,sor.value('number((GondviseloId)[1][not(@xsi:nil = "true")])', 'int') C_GONDVISELOID ,@pIntezmenyId C_INTEZMENYID ,@pTanevId C_TANEVID ,'F' TOROLT ,0 SERIAL ,GETDATE() LASTCHANGED ,GETDATE() CREATED ,@pModifierId MODIFIER ,@pModifierId CREATOR ,NULL NNID ,NULL ELOZOTANEVIREKORDID FROM @pFelhasznaloBelepesImportXml.nodes('/FelhasznaloBelepesImport/FelhasznaloBelepesList/FelhasznaloBelepes') AS sorok(sor) BEGIN TRANSACTION UPDATE T_FELHASZNALOBELEPES_OSSZES SET T_FELHASZNALOBELEPES_OSSZES.TOROLT = 'T' ,T_FELHASZNALOBELEPES_OSSZES.SERIAL = T_FELHASZNALOBELEPES_OSSZES.SERIAL + 1 ,T_FELHASZNALOBELEPES_OSSZES.LASTCHANGED = GETDATE() ,T_FELHASZNALOBELEPES_OSSZES.MODIFIER = @pModifierId FROM T_FELHASZNALOBELEPES_OSSZES INNER JOIN @TempFelhasznaloBelepes tempTable ON tempTable.C_FELHASZNALOID = T_FELHASZNALOBELEPES_OSSZES.C_FELHASZNALOID AND ((T_FELHASZNALOBELEPES_OSSZES.C_GONDVISELOID IS NOT NULL AND tempTable.C_GONDVISELOID IS NOT NULL AND T_FELHASZNALOBELEPES_OSSZES.C_GONDVISELOID = tempTable.C_GONDVISELOID) OR (T_FELHASZNALOBELEPES_OSSZES.C_GONDVISELOID IS NULL AND tempTable.C_GONDVISELOID IS NULL)) WHERE T_FELHASZNALOBELEPES_OSSZES.C_INTEZMENYID = @pIntezmenyId AND T_FELHASZNALOBELEPES_OSSZES.C_TANEVID = @pTanevId AND T_FELHASZNALOBELEPES_OSSZES.TOROLT = 'F' INSERT INTO T_FELHASZNALOBELEPES SELECT C_KOTELEZOVALTOZTATNI C_KOTELEZOVALTOZTATNI ,C_MEGHIUSULTBELEPESEK C_MEGHIUSULTBELEPESEK ,C_UTOLSOBELEPES C_UTOLSOBELEPES ,C_JELSZO C_JELSZO ,C_JELSZOVALTOZTATASIDEJE C_JELSZOVALTOZTATASIDEJE ,C_SO C_SO ,C_BEJELENTKEZESINEV C_BEJELENTKEZESINEV ,C_NEPTUNNAPLOJELSZO C_NEPTUNNAPLOJELSZO ,C_GUID C_GUID ,'F' C_ELFOGADOTTGDPRNYILATKOZAT , NULL C_GDPRELFOGADASDATUMA ,'T' C_IMPORTALT ,C_FELHASZNALOID C_FELHASZNALOID ,C_GONDVISELOID C_GONDVISELOID ,C_INTEZMENYID C_INTEZMENYID ,C_TANEVID C_TANEVID ,TOROLT TOROLT ,SERIAL SERIAL ,LASTCHANGED LASTCHANGED ,CREATED CREATED ,MODIFIER MODIFIER ,CREATOR CREATOR ,NNID NNID ,ELOZOTANEVIREKORDID ELOZOTANEVIREKORDID FROM @TempFelhasznaloBelepes COMMIT TRANSACTION END TRY BEGIN CATCH IF @@TRANCOUNT > 0 AND XACT_STATE() <> 0 ROLLBACK TRANSACTION; THROW END CATCH END GO