﻿-- =============================================
-- Author:		<Author,,Name>
-- Create date: <Create Date,,>
-- Description:	<Description,,>
-- =============================================
CREATE PROCEDURE [dbo].[fds__setInvoiceUNPayed]
	@Id varchar(8),
	@authuser varchar(25)
AS
BEGIN
	SET NOCOUNT ON;
	DECLARE @now datetime = GETUTCDATE();

	IF [dbo].[fis_getModuleAuth]('fds_inv', @authuser) < 2
		THROW 60000, N'not authorized', 1;  
	
	INSERT INTO [dbo].[fds__admin_activity] ([activity] ,[authuser] ,[info])
		VALUES ('fds__setInvoiceUNPayed' ,@authuser , (SELECT * FROM (VALUES(@Id, @authuser)) as z ([id],[authuser]) FOR JSON PATH, INCLUDE_NULL_VALUES, WITHOUT_ARRAY_WRAPPER));

	IF EXISTS (SELECT 0 FROM [dbo].[fds__invoices] WHERE [Id] = @Id 
			AND @Id is not null
			AND [PaymentStatus] = 'm')
		BEGIN

			UPDATE [dbo].[fds__invoices] 
			SET [IsPayed] = 0, [paymentstatus] = NULL, [DateModified] = @now, [UserModified] = @authuser, [version] = (ISNULL([version],0) + 1)
			OUTPUT inserted.*
				WHERE [Id] = @Id 
					AND @Id is not null
					AND [PaymentStatus] = 'm';

			--apply auto status
			EXECUTE [dbo].[fds__setInvoicePaymentStatus_auto_single] @Id;

		END

END