SET QUOTED_IDENTIFIER ON 
GO
SET ANSI_NULLS ON 
GO

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[usp_DeleteSiteAccount]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[usp_DeleteSiteAccount]
GO

-- ====================================================  
-- Author:  Magic Software  
-- Create date: 08-Feb-2018  
-- Description: To delete a site account for a license account and site  
-- ====================================================  
create PROCEDURE [dbo].[usp_DeleteSiteAccount]
 -- Add the parameters for the stored procedure here  
	@iSiteId int, @LicenseId int, @UserId int,
	@Status bit out  
AS  
BEGIN  
 -- SET NOCOUNT ON added to prevent extra result sets from  
 -- interfering with SELECT statements.  
SET NOCOUNT ON;  

 set @Status = 0;  
 BEGIN TRY  
  BEGIN TRANSACTION  
	
	delete SLE from SiteToLicenseEdition SLE inner join LicenseToEdition LE on SLE.LicenseEditionId = LE.Id where SLE.SiteId = @iSiteId and LicenseId = @LicenseId;
	delete from AIAUserToSite where SiteId = @iSiteId and UserId = @UserId;
	delete from Site where Id = @iSiteId;

  COMMIT TRANSACTION  
  set @Status = 1;  
 END TRY  
 BEGIN CATCH  
  IF @@TRANCOUNT > 0  
   ROLLBACK TRANSACTION  
 END CATCH  
  
END  

GO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON 
GO

