﻿IF OBJECT_ID('[dbo].[sp_KIRImportTanarok]', 'P') IS NOT NULL BEGIN
  DROP PROCEDURE [dbo].[sp_KIRImportTanarok]
END
GO

-- =============================================
-- Author:		Sólyom Péter
-- Create date: 2015.12.02.
-- Description:	KIR tanárok importja
-- =============================================
CREATE PROCEDURE [dbo].[sp_KIRImportTanarok]
	-- Add the parameters for the stored procedure here
	@TanarokXML as XML,
	@FeladatellatasiHelyId int,
	@intezmenyID int,
	@tanevID int,
	@userId int
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;
	SET XACT_ABORT OFF;

	-- XML paraméter értelmezése
     SELECT  ID = Tanar.value('(ID)[1]', 'int'),
			OktatasiAzonosito = Tanar.value('(OktatasiAzonosito)[1]', 'varchar(15)'),
			KretaKod = Tanar.value('(KretaKod)[1]', 'varchar(6)'),
			VezetekNev =  Tanar.value('(ViseltNevVezetekNev)[1]', 'nvarchar(50)'),	UtoNev =  Tanar.value('(ViseltNevKeresztNev)[1]', 'nvarchar(50)'),
			Elotag =  Tanar.value('(ViseltNevElotag)[1]', 'nvarchar(10)'),	NevSorrend =  Tanar.value('(ViseltNevNevSorrend)[1]', 'char(1)'),
			AnyjaNeveElotag =  Tanar.value('(AnyjaNeveElotag)[1]', 'nvarchar(10)'), AnyjaNeveVezetekNev =  Tanar.value('(AnyjaNeveVezetekNev)[1]', 'nvarchar(50)'),
			AnyjaNeveKeresztNev =  Tanar.value('(AnyjaNeveKeresztNev)[1]', 'nvarchar(50)'),	AnyjaNeveNevSorrend =  Tanar.value('(AnyjaNeveNevSorrend)[1]', 'nvarchar(50)'),
			SzuletesiDatum =  Tanar.value('(SzuletesiDatum)[1]', 'date'),	SzuletesiHely =  Tanar.value('(SzuletesiHely)[1]', 'nvarchar(255)'),
			SzuletesiOrszag =  Tanar.value('(SzuletesiOrszag)[1]', 'int'),	Allampolgarsag =  Tanar.value('(Allampolgarsag)[1]', 'int'),
			Nem =  Tanar.value('(Nem)[1]', 'int'),	EmailCim =  Tanar.value('(EmailCim)[1]', 'nvarchar(255)'),Telefonszam =  Tanar.value('(Telefonszam)[1]', 'nvarchar(100)'),
			AllandoLakcimIranyitoSzam =  Tanar.value('(AllandoLakcimIranyitoSzam)[1]', 'nvarchar(10)'),	AllandoLakcimTelepules =  Tanar.value('(AllandoLakcimTelepules)[1]', 'nvarchar(255)'),
			AllandoLakcimKozteruletNev =  Tanar.value('(AllandoLakcimKozteruletNev)[1]', 'nvarchar(255)'),	AllandoLakcimKozteruletJelleg =  Tanar.value('number((AllandoLakcimKozteruletJelleg)[1])', 'int'),
			AllandoLakcimHazszam =  Tanar.value('(AllandoLakcimHazszam)[1]', 'nvarchar(20)'),	TartozkodasiCimTelepules =  Tanar.value('(TartozkodasiCimTelepules)[1]', 'nvarchar(255)'),
			TartozkodasiCimKozteruletNev =  Tanar.value('(TartozkodasiCimKozteruletNev)[1]', 'nvarchar(255)'),	TartozkodasiCimKozteruletJelleg =  Tanar.value('number((TartozkodasiCimKozteruletJelleg)[1])', 'int'),
			TartozkodasiCimHazszam =  Tanar.value('(TartozkodasiCimHazszam)[1]', 'nvarchar(20)'),	TartozkodasiCimIranyitoszam =  Tanar.value('(TartozkodasiCimIranyitoSzam)[1]', 'nvarchar(20)'),
			KeresesiNev =  Tanar.value('(KeresesiNev)[1]', 'nvarchar(255)'), NyomtatasiNev =  ltrim(Tanar.value('(NyomtatasiNev)[1]', 'nvarchar(255)')),
			OMAzonosito =  Tanar.value('(OMAzonosito)[1]', 'nvarchar(15)'), Foallas =  Tanar.value('(Foallas)[1]', 'char(1)'),
			KotelezoOraszam =  Tanar.value('(KotelezoOraszam)[1]', 'nvarchar(15)'), MunkakorTipusa =  Tanar.value('(MunkakorTipusa)[1]', 'nvarchar(15)'),
			MunkaviszonyTipusa =  Tanar.value('(MunkaviszonyTipusa)[1]', 'nvarchar(15)'),JogviszonyKezdete =  Tanar.value('(JogviszonyKezdete)[1]', 'date')
				INTO #tempTanarok
		FROM @TanarokXML.nodes('/KIRTanarok/ImportaltTanarok/Tanar') as Tanarok(Tanar)
		
   -- tanuló felvétele
   DECLARE @transName varchar(11) = 'TanarTrans'	
   
   DECLARE @rowCount int = 1
   DECLARE @maxCount int = (SELECT MAX(ID) FROM #tempTanarok)
   
   -- Létező oktatási azonosítójú tanarok
   DECLARE @TEMPLETEZO TABLE (Nev nvarchar(255), OktatasiAzonosito nvarchar(12), ID INT, C_KRETAKOD nvarchar(6), FelhasznaloID INT, IsAlkalmazott INT)
      INSERT INTO @TEMPLETEZO
   SELECT C_NYOMTATASINEV Nev, C_OKTATASIAZONOSITO OktatasiAzonosito, #tempTanarok.ID , T_FELHASZNALO_OSSZES.C_KRETAKOD, T_FELHASZNALO_OSSZES.ID FelhasznaloID,(Select 1 from T_ALKALMAZOTT_OSSZES WHERE ID =  T_FELHASZNALO_OSSZES.ID and c_alintezmenyid = @intezmenyid AND c_altanevid = @tanevID) IsAlkalmazott
		FROM T_FELHASZNALO_OSSZES 
			JOIN #tempTanarok ON #tempTanarok.KretaKod = T_FELHASZNALO_OSSZES.C_kretakod 
		WHERE c_intezmenyid = @intezmenyid AND c_tanevid = @tanevID
   UNION
   SELECT bal.NyomtatasiNev Nev, bal.OktatasiAzonosito OktatasiAzonosito, bal.ID , bal.KretaKod,null,0
		FROM #tempTanarok bal 
			JOIN #tempTanarok jobb ON bal.KretaKod = jobb.KretaKod AND bal.ID != jobb.ID
	select * from @TEMPLETEZO
	select * from  #tempTanarok
   BEGIN TRANSACTION

   DECLARE @CREATED DateTime 
	   SET @CREATED = (SELECT GETDATE())
   BEGIN TRY
   WHILE @rowCount <= @maxCount
   BEGIN 
	   -- ha van már felvéve azonosító alapján
		DECLARE @isAlkalmazott int
		DECLARE @FelhID int = NULL

		SELECT TOP 1 @FelhID=FelhasznaloID, @isAlkalmazott = IsAlkalmazott  FROM @TEMPLETEZO WHERE ID = @rowCount
		
	   IF @FelhID  IS NOT NULL 
	   BEGIN
	   print 1
		---- UPDATE FELHASZNALO
		UPDATE T_FELHASZNALO_OSSZES
				SET
					T_FELHASZNALO_OSSZES.C_NEME = t.Nem,
					T_FELHASZNALO_OSSZES.C_SZULETESIDATUM = t.SzuletesiDatum,
					T_FELHASZNALO_OSSZES.C_SZULETESINEV = t.VezetekNev + ' ' + t.UtoNev,
					T_FELHASZNALO_OSSZES.C_ANYJANEVE = t.AnyjaNeveVezetekNev + ' ' + t.AnyjaNeveKeresztNev,
					T_FELHASZNALO_OSSZES.C_SZULETESIHELY = t.SzuletesiHely,
					T_FELHASZNALO_OSSZES.C_ALLAMPOLGARSAGA = t.Allampolgarsag,
					T_FELHASZNALO_OSSZES.C_KERESESINEV = t.KeresesiNev,
					T_FELHASZNALO_OSSZES.C_SZULETESIORSZAG = t.SzuletesiOrszag,
					T_FELHASZNALO_OSSZES.C_SZULETESINEVSORREND = t.NevSorrend,
					T_FELHASZNALO_OSSZES.C_ANYJANEVESORREND = t.AnyjaNeveNevSorrend,
					T_FELHASZNALO_OSSZES.C_ALAPERTELMEZETTLCID = 1038,
					T_FELHASZNALO_OSSZES.C_SZULETESINEVELVALASZTO = LEN(t.VezetekNev),
					T_FELHASZNALO_OSSZES.C_ANYJANEVEELVALASZTO = LEN(t.AnyjaNeveVezetekNev),
					T_FELHASZNALO_OSSZES.C_NYOMTATASINEV = t.NyomtatasiNev,
					T_FELHASZNALO_OSSZES.C_UTONEV = t.UtoNev,
					T_FELHASZNALO_OSSZES.C_VEZETEKNEV = t.VezetekNev,
					T_FELHASZNALO_OSSZES.C_ELOTAG = t.Elotag,
					T_FELHASZNALO_OSSZES.C_NEVSORREND = t.NevSorrend,
					T_FELHASZNALO_OSSZES.C_NYILVANTARTASKEZDETE = @CREATED,
					T_FELHASZNALO_OSSZES.C_OMKOD = t.OMAzonosito,
					T_FELHASZNALO_OSSZES.C_KRETAKOD = t.KretaKod,
					T_FELHASZNALO_OSSZES.C_OKTATASIAZONOSITO = t.OktatasiAzonosito,
					T_FELHASZNALO_OSSZES.TOROLT = 'F',
					
					T_FELHASZNALO_OSSZES.SERIAL = T_FELHASZNALO_OSSZES.SERIAL + 1,
					T_FELHASZNALO_OSSZES.LASTCHANGED = GETDATE(),
					T_FELHASZNALO_OSSZES.MODIFIER = @userId
					FROM
		(SELECT *	
			FROM #tempTanarok 
			WHERE ID = @rowCount) t
			Where T_FELHASZNALO_OSSZES.ID = @FelhID
				
		
		IF @isAlkalmazott = 1
		BEGIN
			
			----- UPDATE Alkalmazott		
			UPDATE T_ALKALMAZOTT_OSSZES
				SET
					T_ALKALMAZOTT_OSSZES.C_FOALLAS = newData.Foallas,
					T_ALKALMAZOTT_OSSZES.TOROLT = 'F',
					
					T_ALKALMAZOTT_OSSZES.SERIAL = T_ALKALMAZOTT_OSSZES.SERIAL + 1,
					T_ALKALMAZOTT_OSSZES.LASTCHANGED = GETDATE(),
					T_ALKALMAZOTT_OSSZES.MODIFIER = @userId
				FROM
				(SELECT fel.ID, t.Foallas
					FROM #tempTanarok t
						JOIN T_FELHASZNALO_OSSZES fel ON fel.C_KRETAKOD = t.KretaKod and fel.c_intezmenyid = @intezmenyid AND fel.c_tanevid = @tanevID
					WHERE t.ID = @rowCount) AS newData
				WHERE
					T_ALKALMAZOTT_OSSZES.ID = @FelhID

		END
		ELSE
		BEGIN
			---Create New Tanar
			INSERT INTO T_ALKALMAZOTT_OSSZES(
				ID, 
				[C_FOALLAS], 
				[C_ALINTEZMENYID], 
				[C_ALTANEVID], 
				[TOROLT], 
				[SERIAL], 
				[LASTCHANGED],
				[CREATED],
				[MODIFIER],
				[CREATOR])
			SELECT 
				fel.ID,
				t.Foallas, 
				@intezmenyID,
				@tanevID, 
				'F',
				1,
				NULL,
				@CREATED,
				NULL,
				@userId
			FROM #tempTanarok t
				JOIN T_FELHASZNALO_OSSZES fel ON fel.C_KRETAKOD = t.KretaKod and fel.c_intezmenyid = @intezmenyid AND fel.c_tanevid = @tanevID
			WHERE t.ID = @rowCount
		END	
		
		--MunkaUgyi Adatok
		
		IF (Select count(0) from T_MUNKAUGYIADATOK_OSSZES where C_ALKALMAZOTTID = @FelhID ) >= 1
			BEGIN
				UPDATE T_MUNKAUGYIADATOK_OSSZES
				SET
					T_MUNKAUGYIADATOK_OSSZES.C_ALKALMAZASKEZDETE = MunkaAdatok.JogviszonyKezdete,
					T_MUNKAUGYIADATOK_OSSZES.C_KOTELEZOORASZAM = MunkaAdatok.KotelezoOraszam,
					T_MUNKAUGYIADATOK_OSSZES.C_MUNKAKORTIPUSA = MunkaAdatok.MunkakorTipusa,
					T_MUNKAUGYIADATOK_OSSZES.C_MUNKAVISZONYTIPUSA = MunkaAdatok.MunkaviszonyTipusa,
					T_MUNKAUGYIADATOK_OSSZES.C_ALKALMAZOTTID = MunkaAdatok.ID,
					T_MUNKAUGYIADATOK_OSSZES.C_FELADATELLATASIHELYID = @FeladatellatasiHelyId,
					T_MUNKAUGYIADATOK_OSSZES.TOROLT = 'F',
					
					T_MUNKAUGYIADATOK_OSSZES.SERIAL = T_MUNKAUGYIADATOK_OSSZES.SERIAL + 1,
					T_MUNKAUGYIADATOK_OSSZES.LASTCHANGED = GETDATE(),
					T_MUNKAUGYIADATOK_OSSZES.MODIFIER = @userId
				FROM (
					SELECT t.KotelezoOraszam, t.MunkakorTipusa, t.MunkaviszonyTipusa, fel.ID,t.JogviszonyKezdete
					FROM #tempTanarok t
						JOIN T_FELHASZNALO_OSSZES fel ON fel.C_KRETAKOD = t.KretaKod AND fel.TOROLT = 'F' and fel.c_intezmenyid = @intezmenyid AND fel.c_tanevid = @tanevID
					WHERE t.ID = @rowCount
				) AS MunkaAdatok
				WHERE T_MUNKAUGYIADATOK_OSSZES.C_ALKALMAZOTTID = @FelhID
			END
	   ELSE
			BEGIN
				INSERT INTO T_MUNKAUGYIADATOK_OSSZES
					(
					--ID - this column value is auto-generated
					C_ALKALMAZASKEZDETE,
					C_KOTELEZOORASZAM,
					C_MUNKAKORTIPUSA,
					C_MUNKAVISZONYTIPUSA,
					C_FELADATELLATASIHELYID,
					C_ALKALMAZOTTID,
					C_INTEZMENYID,
					C_TANEVID,
					TOROLT,
					SERIAL,
					LASTCHANGED,
					CREATED,
					MODIFIER,
					CREATOR)
				SELECT
					t.JogviszonyKezdete,
					t.KotelezoOraszam,
					t.MunkakorTipusa,
					t.MunkaviszonyTipusa,
					@FeladatellatasiHelyId,
					fel.ID,
					@intezmenyID,
					@tanevID,
					'F',
					1,
					NULL,
					@CREATED,
					NULL,
					@userId
				FROM #tempTanarok t
					JOIN T_FELHASZNALO_OSSZES fel ON fel.C_KRETAKOD = t.KretaKod and fel.c_intezmenyid = @intezmenyid AND fel.c_tanevid = @tanevID
				WHERE t.ID = @rowCount
		END

		-----  Tartozkodasi hely    ------
	   	IF (Select count(0) FROM T_CIM_OSSZES WHERE C_FELHASZNALOID = @FelhID and  C_CIMTIPUSA = 908 and c_intezmenyid = @intezmenyid AND c_tanevid = @tanevID) >= 1
			BEGIN
				UPDATE T_CIM_OSSZES
				SET
					[T_CIM_OSSZES].[C_CIMTIPUSA] = 908,
					[T_CIM_OSSZES].[C_ORSZAG] = 765,
					[T_CIM_OSSZES].[C_IRANYITOSZAM] = Tartorzkodas.TartozkodasiCimIranyitoszam,
					[T_CIM_OSSZES].[C_VAROS] = Tartorzkodas.TartozkodasiCimTelepules,
					[T_CIM_OSSZES].[C_KOZTERULET] = Tartorzkodas.TartozkodasiCimKozteruletNev,
					[T_CIM_OSSZES].[C_KOZTERULETJELLEGE] = Tartorzkodas.TartozkodasiCimKozteruletJelleg,
					[T_CIM_OSSZES].[C_HAZSZAM] = Tartorzkodas.TartozkodasiCimHazszam,
					[T_CIM_OSSZES].[C_FELHASZNALOID] = Tartorzkodas.ID,
					[T_CIM_OSSZES].[TOROLT] = 'F',
				
					[T_CIM_OSSZES].SERIAL = [T_CIM_OSSZES].SERIAL + 1,
					[T_CIM_OSSZES].LASTCHANGED = GETDATE(),
					[T_CIM_OSSZES].MODIFIER = @userId
				FROM
				(SELECT t.TartozkodasiCimIranyitoszam, t.TartozkodasiCimTelepules, t.TartozkodasiCimKozteruletNev, t.TartozkodasiCimKozteruletJelleg, t.TartozkodasiCimHazszam,
					fel.ID
					FROM T_FELHASZNALO_OSSZES fel
						JOIN #tempTanarok t on t.KretaKod = fel.C_KRETAKOD
					WHERE t.ID = @rowCount AND t.TartozkodasiCimIranyitoszam is not null AND t.TartozkodasiCimIranyitoszam != ''
					 and c_intezmenyid = @intezmenyid AND c_tanevid = @tanevID) AS Tartorzkodas
				WHERE T_CIM_OSSZES.C_FELHASZNALOID = @FelhID and  T_CIM_OSSZES.C_CIMTIPUSA = 908 and c_intezmenyid = @intezmenyid AND c_tanevid = @tanevID
			END
		ELSE
			BEGIN
				INSERT INTO T_CIM_OSSZES (
					[C_CIMTIPUSA],
					[C_ORSZAG],
					[C_IRANYITOSZAM],
					[C_VAROS],
					[C_KOZTERULET],
					[C_KOZTERULETJELLEGE],
					[C_HAZSZAM],
					[C_FELHASZNALOID],
					[C_INTEZMENYID],
					[C_TANEVID],
					[TOROLT],
					[SERIAL],
					[LASTCHANGED],
					[CREATED],
					[MODIFIER],
					[CREATOR])
				SELECT
					908,
					765,
					t.TartozkodasiCimIranyitoszam,
					t.TartozkodasiCimTelepules,
					t.TartozkodasiCimKozteruletNev,
					t.TartozkodasiCimKozteruletJelleg,
					t.TartozkodasiCimHazszam,
					fel.ID,
					@intezmenyID,
					@tanevID,
					'F', 
					1,
					NULL,
					@CREATED,
					NULL,
					@userId
				FROM T_FELHASZNALO_OSSZES fel
					JOIN #tempTanarok t on t.KretaKod = fel.C_KRETAKOD
				WHERE t.ID = @rowCount AND t.TartozkodasiCimIranyitoszam is not null AND t.TartozkodasiCimIranyitoszam != ''
				 and fel.c_intezmenyid = @intezmenyid AND fel.c_tanevid = @tanevID
			END
		----- Allando Lakscim------------
		IF(Select count(0) FROM T_CIM_OSSZES WHERE C_FELHASZNALOID = @FelhID and  C_CIMTIPUSA = 907 and c_intezmenyid = @intezmenyid AND c_tanevid = @tanevID) >= 1
			BEGIN
				UPDATE T_CIM_OSSZES
					SET 
						[T_CIM_OSSZES].[C_CIMTIPUSA] = 907, 
						[T_CIM_OSSZES].[C_ORSZAG] = 765,
						[T_CIM_OSSZES].[C_IRANYITOSZAM] = AllandoCim.AllandoLakcimIranyitoSzam,
						[T_CIM_OSSZES].[C_VAROS] = AllandoCim.AllandoLakcimTelepules,
						[T_CIM_OSSZES].[C_KOZTERULET] = AllandoCim.AllandoLakcimKozteruletNev,
						[T_CIM_OSSZES].[C_KOZTERULETJELLEGE] =AllandoCim.AllandoLakcimKozteruletJelleg,
						[T_CIM_OSSZES].[C_HAZSZAM] =AllandoCim.AllandoLakcimHazszam,
						[T_CIM_OSSZES].[C_FELHASZNALOID] =AllandoCim.ID,
						[T_CIM_OSSZES].[TOROLT] = 'F',	
					
						[T_CIM_OSSZES].SERIAL = [T_CIM_OSSZES].SERIAL + 1,
						[T_CIM_OSSZES].LASTCHANGED = GETDATE(),
						[T_CIM_OSSZES].MODIFIER = @userId
					FROM (SELECT t.AllandoLakcimIranyitoSzam, t.AllandoLakcimTelepules, t.AllandoLakcimKozteruletNev, t.AllandoLakcimKozteruletJelleg, t.AllandoLakcimHazszam,
							fel.ID
						FROM T_FELHASZNALO_OSSZES fel
							JOIN #tempTanarok t on t.KretaKod = fel.C_KRETAKOD
						WHERE t.ID = @rowCount and fel.c_intezmenyid = @intezmenyid AND fel.c_tanevid = @tanevID) AllandoCim
					WHERE T_CIM_OSSZES.C_FELHASZNALOID = @FelhID and  T_CIM_OSSZES.C_CIMTIPUSA = 907
					 and t_cim_OSSZES.c_intezmenyid = @intezmenyid AND t_cim_OSSZES.c_tanevid = @tanevID
			END
		ELSE
			BEGIN
				INSERT INTO T_CIM(
					[C_CIMTIPUSA], 
					[C_ORSZAG], 
					[C_IRANYITOSZAM], 
					[C_VAROS], 
					[C_KOZTERULET], 
					[C_KOZTERULETJELLEGE], 
					[C_HAZSZAM], 
					[C_FELHASZNALOID], 
					[C_INTEZMENYID], 
					[C_TANEVID], 
					[TOROLT],
					[SERIAL],
					[LASTCHANGED],
					[CREATED],
					[MODIFIER],
					[CREATOR])
				SELECT 
					907, 
					765, 
					t.AllandoLakcimIranyitoSzam, 
					t.AllandoLakcimTelepules, 
					t.AllandoLakcimKozteruletNev, 
					t.AllandoLakcimKozteruletJelleg, 
					t.AllandoLakcimHazszam,
					fel.ID, 
					@intezmenyID, 
					@tanevID, 
					'F', 
					1, 
					NULL, 
					@CREATED, 
					NULL, 
					@userId
				FROM T_FELHASZNALO_OSSZES fel
					JOIN #tempTanarok t on t.KretaKod = fel.C_KRETAKOD
				WHERE t.ID = @rowCount and fel.c_intezmenyid = @intezmenyid AND fel.c_tanevid = @tanevID
			END

		IF(Select count(0) FROM T_EMAIL_OSSZES WHERE C_FELHASZNALOID = @FelhID and  C_EMAILTIPUSA = 1025 and c_intezmenyid = @intezmenyid AND c_tanevid = @tanevID) >= 1
			BEGIN
				UPDATE T_EMAIL_OSSZES
				SET
					[T_EMAIL_OSSZES].[C_EMAILCIM] = Email.EmailCim,
				
					[T_EMAIL_OSSZES].SERIAL = [T_EMAIL_OSSZES].SERIAL + 1,
					[T_EMAIL_OSSZES].LASTCHANGED = GETDATE(),
					[T_EMAIL_OSSZES].MODIFIER = @userId
				FROM (Select t.EmailCim from  T_FELHASZNALO_OSSZES fel
						Inner join #tempTanarok t on t.KretaKod = fel.C_KRETAKOD
						WHERE t.ID = @rowCount and fel.c_intezmenyid = @intezmenyid AND fel.c_tanevid = @tanevID) Email
				WHERE [T_EMAIL_OSSZES].C_FELHASZNALOID = @FelhID and  [T_EMAIL_OSSZES].[C_EMAILTIPUSA] = 1025
					 and [T_EMAIL_OSSZES].c_intezmenyid = @intezmenyid AND [T_EMAIL_OSSZES].c_tanevid = @tanevID
			END
		ELSE
			BEGIN
				INSERT INTO T_EMAIL_OSSZES(
					[C_EMAILTIPUSA], 
					[C_EMAILCIM], 
					[C_ALAPERTELMEZETT], 
					[C_GONDVISELOID],
					[C_FELHASZNALOID], 
					[C_INTEZMENYID], 
					[C_TANEVID], 
					[TOROLT],
					[SERIAL],
					[LASTCHANGED],
					[CREATED],
					[MODIFIER],
					[CREATOR])
				SELECT 
					1025, 
					t.EmailCim, 
					'T', 
					null,
					fel.ID, 
					@intezmenyID, 
					@tanevID, 
					'F', 
					1, 
					NULL, 
					@CREATED, 
					NULL, 
					@userId
				FROM T_FELHASZNALO_OSSZES fel
					JOIN #tempTanarok t on t.KretaKod = fel.C_KRETAKOD AND fel.TOROLT = 'F'
				WHERE t.ID = @rowCount AND t.EmailCim is not null AND  t.EmailCim != '' AND fel.c_intezmenyid = @intezmenyid AND fel.c_tanevid = @tanevID
			END

			IF(Select count(0) FROM T_TELEFON_OSSZES WHERE C_FELHASZNALOID = @FelhID and  [C_TELEFONTIPUSA] = 1019 and c_intezmenyid = @intezmenyid AND c_tanevid = @tanevID) >= 1
			BEGIN
				UPDATE T_TELEFON_OSSZES
				SET
					[T_TELEFON_OSSZES].[C_TELEFONSZAM] = Telefon.Telefonszam,
				
					[T_TELEFON_OSSZES].SERIAL = [T_TELEFON_OSSZES].SERIAL + 1,
					[T_TELEFON_OSSZES].LASTCHANGED = GETDATE(),
					[T_TELEFON_OSSZES].MODIFIER = @userId
				FROM (Select t.Telefonszam from  T_FELHASZNALO_OSSZES fel
						Inner join #tempTanarok t on t.KretaKod = fel.C_KRETAKOD
						WHERE t.ID = @rowCount and fel.c_intezmenyid = @intezmenyid AND fel.c_tanevid = @tanevID) Telefon
				WHERE [T_TELEFON_OSSZES].C_FELHASZNALOID = @FelhID and  [T_TELEFON_OSSZES].[C_TELEFONTIPUSA] = 1019
					 and [T_TELEFON_OSSZES].c_intezmenyid = @intezmenyid AND [T_TELEFON_OSSZES].c_tanevid = @tanevID
			END
		ELSE
			BEGIN
				INSERT INTO T_TELEFON_OSSZES(
					[C_TELEFONTIPUSA], 
					[C_TELEFONSZAM],
					[C_ALAPERTELMEZETT],
					[C_GONDVISELOID],
					[C_FELHASZNALOID], 
					[C_INTEZMENYID], 
					[C_TANEVID],
					[TOROLT],
					[SERIAL],
					[LASTCHANGED],
					[CREATED],
					[MODIFIER],
					[CREATOR])
				SELECT 
					1019, 
					t.Telefonszam, 
					'T', 
					null,
					fel.ID,
					@intezmenyID, 
					@tanevID, 
					'F', 
					1, 
					NULL, 
					@CREATED, 
					NULL, 
					@userId
				FROM T_FELHASZNALO_OSSZES fel
					JOIN #tempTanarok t on t.KretaKod = fel.C_KRETAKOD AND fel.TOROLT = 'F'
				WHERE t.ID = @rowCount AND t.Telefonszam is not null AND  t.Telefonszam != '' AND fel.c_intezmenyid = @intezmenyid AND fel.c_tanevid = @tanevID
			END



		----------TANAR BELEPESEK--------
		--IF (Select count(0) FROM T_FELHASZNALOBELEPES where C_FELHASZNALOID = @FelhID) = 0
		--	BEGIN
		--		INSERT INTO [dbo].[T_FELHASZNALOBELEPES] (
		--			[C_JELSZO], 
		--			[C_BEJELENTKEZESINEV], 
		--			[C_FELHASZNALOID], 
		--			[C_INTEZMENYID], 
		--			[C_TANEVID], 
		--			[TOROLT], 
		--			[SERIAL],
		--			[LASTCHANGED],
		--			[CREATED],
		--			[MODIFIER],
		--			[CREATOR])
		--		SELECT 
		--			CONVERT(nvarchar(8), fel.C_SZULETESIDATUM,112),
		--			fel.C_OKTATASIAZONOSITO, 
		--			fel.ID,
		--			@intezmenyID, 
		--			@tanevID, 
		--			'F',
		--			1,
		--			NULL, 
		--			@CREATED, 
		--			NULL, 
		--			@userId
		--		FROM #tempTanarok t
		--			JOIN T_FELHASZNALO fel ON fel.C_KRETAKOD = t.KretaKod
		--		WHERE t.ID = @rowCount	
		--	END
			--------SZEREPKÖR-----------
		
			DELETE FROM T_FELHASZNALO_SZEREPKOR_OSSZES
			WHERE T_FELHASZNALO_SZEREPKOR_OSSZES.[C_FELHASZNALOID] = @FelhID
		
			INSERT INTO T_FELHASZNALO_SZEREPKOR_OSSZES (C_FELHASZNALOID, C_SZEREPKORID)
			SELECT DISTINCT fel.ID, (SELECT ID FROM T_SZEREPKOR_OSSZES WHERE C_SZEREPKORTIPUS = '1760' AND C_INTEZMENYID = @intezmenyID AND C_TANEVID = @tanevID)
					FROM #tempTanarok t
						JOIN T_FELHASZNALO_OSSZES fel ON fel.C_KRETAKOD = t.KretaKod  AND C_TANEVID = @tanevID AND TOROLT='F'
					WHERE t.ID = @rowCount and fel.c_intezmenyid = @intezmenyid AND fel.c_tanevid = @tanevID
			
			
			
			--PRINT @rowCount
  		SET @rowCount = @rowCount + 1
		CONTINUE
		END
		-- Felhasználók létrehozása
		-- BEGIN TRY
		INSERT INTO T_FELHASZNALO_OSSZES (
			[C_NEME],
			[C_SZULETESIDATUM],
			[C_SZULETESINEV],
			[C_ANYJANEVE],
			[C_SZULETESIHELY],
			[C_ALLAMPOLGARSAGA],
			[C_KERESESINEV],
			[C_SZULETESIORSZAG],
			[C_SZULETESINEVSORREND],
			[C_ANYJANEVESORREND],
			[C_ALAPERTELMEZETTLCID],
			[C_SZULETESINEVELVALASZTO],
			[C_ANYJANEVEELVALASZTO],
			[C_NYOMTATASINEV],
			[C_UTONEV],
			[C_VEZETEKNEV],
			[C_ELOTAG],
			[C_NEVSORREND],
			[C_NYILVANTARTASKEZDETE],
			[C_OKTATASIAZONOSITO],
			[C_OMKOD],
			[C_KRETAKOD], 
			[C_INTEZMENYID], 
			[C_TANEVID],
			[TOROLT],
			[SERIAL],
			[LASTCHANGED],
			[CREATED],
			[MODIFIER],
			[CREATOR])
		SELECT 
			t.Nem, 
			t.SzuletesiDatum, 
			t.VezetekNev + ' ' + t.UtoNev, 
			t.AnyjaNeveVezetekNev + ' ' + t.AnyjaNeveKeresztNev, 
			t.SzuletesiHely,  
			t.Allampolgarsag, 
			t.KeresesiNev, 
			t.SzuletesiOrszag, 
			t.NevSorrend, 
			t.AnyjaNeveNevSorrend, 
			1038, 
			LEN(t.VezetekNev), 
			LEN(t.AnyjaNeveVezetekNev), 
			t.NyomtatasiNev,
			t.UtoNev, 
			t.VezetekNev, 
			t.Elotag, 
			t.NevSorrend,
			@CREATED, 
			t.OktatasiAzonosito, 
			t.OMAzonosito,
			t.KretaKod, 
			@intezmenyID, 
			@tanevID,
			'F', 
			1, 
			NULL, 
			@CREATED, 
			NULL, 
			@userId
		FROM 
			#tempTanarok t
		WHERE 
			ID = @rowCount
	  -- END TRY
	  -- BEGIN CATCH

	  -- END CATCH

		-- Tanárok létrehozása
		INSERT INTO T_ALKALMAZOTT_OSSZES(
			[ID], 
			[C_FOALLAS],
			[C_ALINTEZMENYID], 
			[C_ALTANEVID], 
			[TOROLT], 
			[SERIAL], 
			[LASTCHANGED],
			[CREATED],
			[MODIFIER],
			[CREATOR])
		 SELECT 
			fel.ID, 
			t.Foallas, 
			@intezmenyID,
			@tanevID, 
			'F', 
			1, 
			NULL, 
			@CREATED, 
			NULL, 
			@userId
		FROM 
			#tempTanarok t
				JOIN T_FELHASZNALO_OSSZES fel ON fel.C_KRETAKOD = t.KretaKod AND fel.TOROLT = 'F' and fel.c_intezmenyid = @intezmenyid AND fel.c_tanevid = @tanevID
		WHERE 
			t.ID = @rowCount
	   -- Munkaidő adatok

		INSERT INTO T_MUNKAUGYIADATOK_OSSZES (
	       --ID - this column value is auto-generated
			C_ALKALMAZASKEZDETE,
			C_KOTELEZOORASZAM,
			C_MUNKAKORTIPUSA,
			C_MUNKAVISZONYTIPUSA,
			C_ALKALMAZOTTID,
			C_FELADATELLATASIHELYID,
			C_INTEZMENYID,
			C_TANEVID,
			TOROLT, 
			SERIAL, 
			LASTCHANGED,
			CREATED,
			MODIFIER,
			CREATOR)
	    SELECT 
			t.JogviszonyKezdete,
			t.KotelezoOraszam,
			t.MunkakorTipusa,
			t.MunkaviszonyTipusa,
			fel.ID,
			@FeladatellatasiHelyId,
			@intezmenyID,
			@tanevID, 
			'F', 
			1, 
			NULL, 
			@CREATED, 
			NULL, 
			@userId
		FROM #tempTanarok t
			JOIN T_FELHASZNALO_OSSZES fel ON fel.C_KRETAKOD = t.KretaKod AND fel.TOROLT = 'F' and fel.c_intezmenyid = @intezmenyid AND fel.c_tanevid = @tanevID
		WHERE t.ID = @rowCount
	  -- Szerepkör

		INSERT INTO T_FELHASZNALO_SZEREPKOR_OSSZES (C_FELHASZNALOID, C_SZEREPKORID)
			SELECT fel.ID, (SELECT ID FROM T_SZEREPKOR_OSSZES WHERE C_SZEREPKORTIPUS = '1760' AND C_INTEZMENYID = @intezmenyID AND C_TANEVID = @tanevID)
					FROM #tempTanarok t
						JOIN T_FELHASZNALO_OSSZES fel ON fel.C_KRETAKOD = t.KretaKod and fel.C_INTEZMENYID = @intezmenyid AND fel.c_tanevid = @tanevID AND TOROLT='F'
					WHERE t.ID = @rowCount and fel.c_intezmenyid = @intezmenyid AND fel.c_tanevid = @tanevID

		---- Tanár belépések
		--INSERT INTO [dbo].[T_FELHASZNALOBELEPES] (
			--[C_JELSZO],
			--[C_BEJELENTKEZESINEV],
			--[C_FELHASZNALOID],
			--[C_INTEZMENYID],
			--[C_TANEVID],
			--[TOROLT], 
			--[SERIAL], 
			--[LASTCHANGED],
			--[CREATED],
			--[MODIFIER],
			--[CREATOR])
		--SELECT CONVERT(
			--nvarchar(8), 
			--fel.C_SZULETESIDATUM,112),
			--fel.C_OKTATASIAZONOSITO,
			--fel.ID,
			--@intezmenyID,
			--@tanevID,
			--'F', 
			--1, 
			--NULL, 
			--@CREATED, 
			--NULL, 
			--@userId
		--	FROM #tempTanarok t
		--		JOIN T_FELHASZNALO fel ON fel.C_KRETAKOD = t.KretaKod AND fel.TOROLT = 'F'
		--	WHERE t.ID = @rowCount	

		-- BEGIN TRY
		-- Állandó lakcím
		INSERT INTO T_CIM_OSSZES (
			[C_CIMTIPUSA],
			[C_ORSZAG],
			[C_IRANYITOSZAM],
			[C_VAROS],
			[C_KOZTERULET],
			[C_KOZTERULETJELLEGE],
			[C_HAZSZAM],
			[C_FELHASZNALOID],
			[C_INTEZMENYID],
			[C_TANEVID],
			[TOROLT],
			[SERIAL],
			[LASTCHANGED],
			[CREATED],
			[MODIFIER],
			[CREATOR])
		SELECT 
			907,
			765,
			t.AllandoLakcimIranyitoSzam, 
			t.AllandoLakcimTelepules,
			t.AllandoLakcimKozteruletNev,
			t.AllandoLakcimKozteruletJelleg, 
			t.AllandoLakcimHazszam,
			fel.ID,
			@intezmenyID,
			@tanevID,
			'F',
			1,
			NULL,
			@CREATED,
			NULL,
			@userId
		FROM 
			T_FELHASZNALO_OSSZES fel
				JOIN #tempTanarok t on t.KretaKod = fel.C_KRETAKOD AND fel.TOROLT = 'F'
		WHERE 
			t.ID = @rowCount and fel.c_intezmenyid = @intezmenyid AND fel.c_tanevid = @tanevID

	   -- Tartozkodási lakcím
		INSERT INTO T_CIM_OSSZES (
			[C_CIMTIPUSA],
			[C_ORSZAG],
			[C_IRANYITOSZAM],
			[C_VAROS],
			[C_KOZTERULET],
			[C_KOZTERULETJELLEGE],
			[C_HAZSZAM],
			[C_FELHASZNALOID],
			[C_INTEZMENYID],
			[C_TANEVID],
			[TOROLT],
			[SERIAL],
			[LASTCHANGED],
			[CREATED],
			[MODIFIER],
			[CREATOR])
		SELECT 
			908, 
			765, 
			t.TartozkodasiCimIranyitoszam,
			t.TartozkodasiCimTelepules,
			t.TartozkodasiCimKozteruletNev,
			t.TartozkodasiCimKozteruletJelleg,
			t.TartozkodasiCimHazszam,
			fel.ID,
			@intezmenyID,
			@tanevID,
			'F',
			1,
			NULL,
			@CREATED,
			NULL,
			@userId
		FROM 
			T_FELHASZNALO_OSSZES fel
				JOIN #tempTanarok t on t.KretaKod = fel.C_KRETAKOD AND fel.TOROLT = 'F'
		WHERE 
			t.ID = @rowCount AND t.TartozkodasiCimIranyitoszam is not null AND t.TartozkodasiCimIranyitoszam != '' and fel.c_intezmenyid = @intezmenyid AND fel.c_tanevid = @tanevID

		-- Email Cím felvétele
		INSERT INTO T_EMAIL_OSSZES (
			[C_EMAILTIPUSA],
			[C_EMAILCIM],
			[C_ALAPERTELMEZETT],
			[C_GONDVISELOID],
			[C_FELHASZNALOID],
			[C_INTEZMENYID],
			[C_TANEVID],
			[TOROLT],
			[SERIAL],
			[LASTCHANGED],
			[CREATED],
			[MODIFIER],
			[CREATOR])
		SELECT 
			1025, 
			t.EmailCim, 
			'T', 
			null,
			fel.ID,
			@intezmenyID,
			@tanevID,
			'F',
			1,
			NULL,
			@CREATED,
			NULL,
			@userId
		FROM 
			T_FELHASZNALO_OSSZES fel
				JOIN #tempTanarok t on t.KretaKod = fel.C_KRETAKOD AND fel.TOROLT = 'F'
		WHERE 
			t.ID = @rowCount AND t.EmailCim is not null AND  t.EmailCim != '' AND fel.c_intezmenyid = @intezmenyid AND fel.c_tanevid = @tanevID
		--END TRY
		--BEGIN CATCH

		--END CATCH

		--END CATCH

		SET @rowCount = @rowCount + 1
	END
	END TRY
	BEGIN CATCH
		IF @@TRANCOUNT > 0
			ROLLBACK TRANSACTION
		DECLARE @ERRORMESSAGE NVARCHAR(4000), @ERRORSEV INT
		SET @ERRORMESSAGE = ERROR_MESSAGE()
		SET @ERRORSEV = ERROR_SEVERITY()
		print 2
		RAISERROR(@ERRORMESSAGE, @ERRORSEV, 1)
	END CATCH
	IF @@TRANCOUNT > 0
		COMMIT TRANSACTION

	--ROLLBACK TRANSACTION 
   -- temptábla eldobása
   DROP TABLE #tempTanarok
END