﻿USE [AIADatabaseV5]
GO
/****** Object:  StoredProcedure [dbo].[UpdateDiscount]    Script Date: 2/1/2018 12:15:55 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- ====================================================
-- Author:		Magic Software
-- Create date: 23-Dec-2009
-- Description:	To update the details of discount
-- ====================================================

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

CREATE PROCEDURE [dbo].[UpdateDiscount] 
	-- Add the parameters for the stored procedure here
	@iDiscountId INT, @dPercentage DECIMAL(5,2), @sStartDate VARCHAR(20), @sEndDate VARCHAR(20), @iActive TINYINT, @sDiscountCode VARCHAR(255)=''
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;
	BEGIN TRY
		BEGIN TRANSACTION
			DECLARE @dtStartDate DATETIME, @dtEndDate DATETIME
			DECLARE @sErrorStatus CHAR(2)
			
			SET @sErrorStatus = 'ok'
			
			-- convert the datatype of startdate & enddate parameter to datetime
			SELECT @dtStartDate = CONVERT(DATETIME,@sStartDate)
			SELECT @dtEndDate = DATEADD(ms,-3,DATEADD(DAY,1,CONVERT(DATETIME,@sEndDate)))
			
			UPDATE Discount SET Percentage = @dPercentage, StartDate = @dtStartDate, EndDate = @dtEndDate,
				IsActive = @iActive, DiscountCode = @sDiscountCode WHERE Id = @iDiscountId
			
		COMMIT
		SELECT @sErrorStatus as SPStatus
	END TRY
	BEGIN CATCH
		IF @@TRANCOUNT > 0 
			ROLLBACK TRANSACTION
		SELECT Error_Message() as SPStatus
	END CATCH
   
END

GO
