﻿CREATE PROCEDURE [dbo].[sp_insertClienteIntoDBNew]
	@codiceFiscale as varchar(16),
	@utente as varchar(13),
	@nome as varchar(50) = null,
	@cognome as varchar(50) = null,
	@codiceContratto as varchar(11) = null
AS
BEGIN
SET NOCOUNT ON;
DECLARE @found as int
DECLARE @seekCognome as nvarchar(100)
SET @seekCognome = ''
--esiste gia?
SELECT @found = count(*) 
FROM [dbo].[Cliente] 
WHERE [CodFiscale] = @codiceFiscale
	AND [Utente] = @utente
IF(@found <= 0)  --non esiste
	BEGIN
	 INSERT INTO [dbo].[Cliente]
			   ([DtCreazione]
			   ,[CodEsterno]
			   ,[CodFiscale]
			   ,[Utente]
			   ,[Cognome]
			   ,[Nome]
			   ,[Nominativo]
			   ,[CodiceContratto])
		 VALUES
			   (getdate()
			   ,@codiceFiscale
			   ,@codiceFiscale
			   ,@utente
			   ,@cognome
			   ,@nome
			   ,case when len(@cognome)> 49 then @cognome else @nome + ' ' + @cognome END
			   ,@CodiceContratto)
	END
ELSE
	BEGIN
--		SELECT @seekCognome = Cognome 
--		FROM [dbo].[Cliente] 
--		WHERE [CodFiscale] = @codiceFiscale
--			AND [Utente] = @utente
--        IF(ISNULL(@seekCognome,'') = '')
--		BEGIN
			UPDATE [dbo].[Cliente]
			   SET [Nominativo] = case when len(@cognome)> 49 then @cognome else @nome + ' ' + @cognome END
				  ,[Cognome] = @cognome
				  ,[Nome] = @nome
				  ,[CodiceContratto] = @CodiceContratto
			 WHERE [CodFiscale] = @codiceFiscale
				AND [Utente] = @utente
--		END 
	END
END