CREATE PROCEDURE [dbo].[SPTetkikMediPacsDokumanGonder]
    @AccNo NVARCHAR(50),
    @HKIMLIKID INT,
    @DokumanListesi NVARCHAR(MAX)
AS
BEGIN
    SET NOCOUNT ON;

    BEGIN TRY
        -- Eğer birleştirilen doküman listesi boş değilse
        IF @DokumanListesi IS NOT NULL AND LEN(@DokumanListesi) > 0
        BEGIN
            IF EXISTS (SELECT 1 FROM Import WHERE AccNo = @AccNo)
            BEGIN
                UPDATE Import
                SET FilePath = @DokumanListesi
                WHERE AccNo = @AccNo;
                PRINT 'UPDATE'
            END
            ELSE
            BEGIN
                INSERT INTO Import (PatientId, AccNo, FilePath)
                VALUES (@HKIMLIKID, @AccNo, @DokumanListesi);
                PRINT 'INSERT'
            END
        END
        ELSE
        BEGIN
            -- Doküman listesi boşsa varsa kaydı sil
            IF EXISTS (SELECT 1 FROM Import WHERE AccNo = @AccNo)
            BEGIN
                DELETE FROM Import WHERE AccNo = @AccNo;
                PRINT 'DELETE'
            END
            ELSE
            BEGIN
                PRINT 'Kayıt bulunamadı, silinecek bir şey yok.'
            END
        END

        RETURN 0 -- Başarılı
    END TRY

    BEGIN CATCH
        PRINT 'Hata oluştu!';
        PRINT 'Hata Mesajı: ' + ERROR_MESSAGE();
        PRINT 'Satır No: ' + CAST(ERROR_LINE() AS NVARCHAR);
        PRINT 'Hata Kodu: ' + CAST(ERROR_NUMBER() AS NVARCHAR);
        PRINT 'Hata Durumu: ' + CAST(ERROR_STATE() AS NVARCHAR);
        RETURN 1 -- Hata
    END CATCH
END


