﻿-- =============================================
-- Author:		Kecskeméthy Zsolt
-- Create date: 2016.05.09
-- Description:	Intézményhez tartozó adatok.
-- =============================================

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

IF OBJECT_ID('dbo.sp_Global_IntezmenyLetrehozas') IS NOT NULL 
BEGIN
  DROP PROCEDURE [dbo].[sp_Global_IntezmenyLetrehozas]
END  
GO

CREATE PROCEDURE [dbo].[sp_Global_IntezmenyLetrehozas]
	@fenntartoAzonosito nvarchar(20),
	@intezmenyAzonosito nvarchar(30),
	@tanevNeve nvarchar(200),
	@kovetkezoTanevNeve nvarchar(200),
	@intezmenyNeve nvarchar(255),
	@intezmenyIranyitoSzam nvarchar(20),
	@intezmenyVaros nvarchar(255),
	@intezmenyKozteruletNev nvarchar(40),
	@intezmenyKozteruletJelleg int,
	@intezmenyHazszam nvarchar(30),
	@intezmenyEmelet nvarchar(40),
	@intezmenyAjto nvarchar(30),
	@intezmenyOMKod nvarchar(20),
	@intezmenyIgazgato nvarchar(255),
	@intezmenyTagkod nvarchar(50),
	@intezmenyEmail nvarchar(255),
	@adminJelszo nvarchar(8),
	@fenntartoJelszo nvarchar(8),
	@kellABHet bit,
	@teljesKreta bit,
	@dbJelszo nvarchar(50)
AS
BEGIN
	DECLARE @intezmenyID int = (SELECT TOP 1 ID FROM T_INTEZMENY WHERE T_INTEZMENY.C_AZONOSITO = @intezmenyAzonosito);

	-- Létezik-e az intézmény
	IF(@intezmenyID IS NULL)
	BEGIN
		-- Intézmény létrehozása
		INSERT INTO [dbo].[T_INTEZMENY]
			   ([C_AZONOSITO]
			   ,[C_POSZEIDONBEJELENTKEZESINEV]
			   ,[C_FENNTARTOAZONOSITO]
			   ,[C_FENNTARTOID]
			   ,[TOROLT]
			   ,[SERIAL]
			   ,[LASTCHANGED]
			   ,[CREATED]
			   ,[MODIFIER]
			   ,[CREATOR])
		 VALUES
			   (@intezmenyAzonosito
			   ,@intezmenyAzonosito
			   ,@fenntartoAzonosito
			   ,0
			   ,'F'
			   ,0
			   ,getdate()
			   ,getdate()
			   ,null
			   ,null)
		
		SET @intezmenyID = SCOPE_IDENTITY();

		PRINT 'Intézmény létrehozása sikeres! (ID:' + CAST(@intezmenyID as VARCHAR) + ')';
	END
	ELSE
	BEGIN
		PRINT 'Már létezik az intézmény! (ID:' + CAST(@intezmenyID AS VARCHAR) + ')';
		--PRINT 'Kilépés';
		--RETURN 1;
	END

	-- Aktuális tanév létrehozása
	DECLARE @tanevID int = (SELECT TOP 1 ID FROM T_TANEV WHERE T_TANEV.C_NEV = @tanevNeve AND T_TANEV.C_INTEZMENYID = @intezmenyID);
	IF(@tanevID is null)
	BEGIN
	   -- tanéves adatok létrehozása
	   EXEC [dbo].[sp_Global_GenerateTanevAdatok] @intezmenyId = @intezmenyID, @intezmenyAzonosito = @intezmenyAzonosito, @tanevNeve = @tanevNeve, @kovetkezoTanev = 0,
			@intezmenyNeve = @intezmenyNeve, @intezmenyIranyitoSzam = @intezmenyIranyitoSzam, @intezmenyVaros = @intezmenyVaros,
			@intezmenyKozteruletNev = @intezmenyKozteruletNev, @intezmenyKozteruletJelleg = @intezmenyKozteruletJelleg, @intezmenyHazszam = @intezmenyHazszam, @intezmenyEmelet = @intezmenyEmelet, @intezmenyAjto = @intezmenyAjto,
			@intezmenyOMKod = @intezmenyOMKod, @intezmenyIgazgato = @intezmenyIgazgato, @intezmenyTagkod = @intezmenyTagkod, @intezmenyEmail = @intezmenyEmail,
			@adminJelszo = @adminJelszo, @fenntartoJelszo = @fenntartoJelszo, @kellABHet = @kellABHet, @teljesKreta = @teljesKreta, @dbJelszo = @dbJelszo
	END
	ELSE
	BEGIN
		PRINT 'Már létezik ilyan tanév! (ID:' + CAST(@tanevID AS VARCHAR) + ', Tanév: '+ @tanevNeve +')';
	END

	-- Következő tanév létrehozása, ha szükséges
	IF(@kovetkezoTanevNeve IS NOT NULL AND @kovetkezoTanevNeve != '')
	BEGIN
		SET @tanevID = (SELECT TOP 1 ID FROM T_TANEV WHERE T_TANEV.C_NEV = @kovetkezoTanevNeve AND T_TANEV.C_INTEZMENYID = @intezmenyID);
		IF(@tanevID is null)
		BEGIN
		   -- tanéves adatok létrehozása
		   EXEC [dbo].[sp_Global_GenerateTanevAdatok] @intezmenyId = @intezmenyID, @intezmenyAzonosito = @intezmenyAzonosito, @tanevNeve = @kovetkezoTanevNeve, @kovetkezoTanev = 1,
				@intezmenyNeve = @intezmenyNeve, @intezmenyIranyitoSzam = @intezmenyIranyitoSzam, @intezmenyVaros = @intezmenyVaros,
				@intezmenyKozteruletNev = @intezmenyKozteruletNev, @intezmenyKozteruletJelleg = @intezmenyKozteruletJelleg, @intezmenyHazszam = @intezmenyHazszam, @intezmenyEmelet = @intezmenyEmelet, @intezmenyAjto = @intezmenyAjto,
				@intezmenyOMKod = @intezmenyOMKod, @intezmenyIgazgato = @intezmenyIgazgato, @intezmenyTagkod = @intezmenyTagkod, @intezmenyEmail = @intezmenyEmail,
				@adminJelszo = @adminJelszo, @fenntartoJelszo = @fenntartoJelszo, @kellABHet = @kellABHet, @teljesKreta = @teljesKreta, @dbJelszo = @dbJelszo
		END
		ELSE
		BEGIN
			PRINT 'Már létezik ilyan tanév! (ID:' + CAST(@tanevID AS VARCHAR) + ', Tanév: '+ @kovetkezoTanevNeve +')';
			PRINT 'Kilépés';
			RETURN ;
		END
	END
END

