You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

106 lines
6.8 KiB

USE [FastMoneyPro_Remit]
GO
/****** Object: StoredProcedure [dbo].[proc_CheckPromoValidity] Script Date: 3/22/2024 3:11:02 PM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[proc_CheckPromoValidity]
@flag VARCHAR(50),
@countryId INT,
@pmode VARCHAR(50) = NULL,
@promoCode VARCHAR(100) = NULL
AS
BEGIN
SET NOCOUNT ON;
DECLARE @PromotionalCode VARCHAR(50),
@PromotionalMsg VARCHAR(255),
@PromotionType VARCHAR(50),
@PromotionValue MONEY,
@startDate DATETIME,
@endDate DATETIME,
@isValid VARCHAR(20),
@minAmt MONEY,
@rowId INT
IF @flag = 'chk-availability'
BEGIN
IF EXISTS (SELECT 1
FROM dbo.TBL_PROMOTIONAL_CAMAPAIGN
WHERE COUNTRY_ID = @countryId AND (@pmode IS NULL OR ISNULL(PAYMENT_METHOD, @pmode) = @pmode)
AND (CONVERT(DATE, GETDATE()) BETWEEN START_DT AND END_DT))
BEGIN
SELECT
@PromotionalCode = PROMOTIONAL_CODE,
@PromotionalMsg = PROMOTIONAL_MSG,
@PromotionType = PROMOTION_TYPE,
@PromotionValue = PROMOTION_VALUE
FROM dbo.TBL_PROMOTIONAL_CAMAPAIGN
WHERE COUNTRY_ID = @countryId AND (@pmode IS NULL OR ISNULL(PAYMENT_METHOD, @pmode) = @pmode)
SELECT
PROMOTIONAL_CODE = @PromotionalCode,
PROMOTIONAL_MSG = @PromotionalMsg,
PROMOTION_TYPE = @PromotionType,
PROMOTION_VALUE = @PromotionValue
RETURN
END
ELSE
BEGIN
EXEC proc_errorHandler 1, 'No valid promo code for the day.', @countryId
RETURN
END
END
ELSE IF @flag = 'chk-validity'
BEGIN
IF NOT EXISTS(SELECT 1
FROM dbo.TBL_PROMOTIONAL_CAMAPAIGN
WHERE COUNTRY_ID = @countryId AND PROMOTIONAL_CODE = @promoCode AND (@pmode IS NULL OR ISNULL(PAYMENT_METHOD, @pmode) = @pmode)
AND (CONVERT(DATE, GETDATE()) BETWEEN START_DT AND END_DT))
BEGIN
--EXEC proc_errorHandler 1, 'Please enter valid promo code.', @promoCode
SELECT
IS_VALID = 'INVALID',
ROW_ID = '',
PROMOTIONAL_CODE = 0,
PROMOTIONAL_MSG = 'Please enter valid promo code.',
-- PROMOTION_TYPE = @PromotionType,
PROMOTION_VALUE = 0,
MIN_SENDING_AMT = 0,
START_DT = NULL,
END_DT = NULL
RETURN
END
ELSE
BEGIN
SELECT
--@isValid = 'VALID',
@rowId = ROW_ID,
@PromotionalCode = PROMOTIONAL_CODE,
@PromotionalMsg = PROMOTIONAL_MSG,
--@PromotionType = PROMOTION_TYPE,
@PromotionValue = PROMOTION_VALUE,
@minAmt = MIN_SENDING_AMT,
@startDate = CONVERT(DATETIME,START_DT),
@endDate = CONVERT(DATETIME,END_DT)
FROM dbo.TBL_PROMOTIONAL_CAMAPAIGN
WHERE COUNTRY_ID = @countryId AND PROMOTIONAL_CODE = @promoCode AND (@pmode IS NULL OR ISNULL(PAYMENT_METHOD, @pmode) = @pmode)
SELECT
IS_VALID = 'VALID',
ROW_ID = @rowId,
PROMOTIONAL_CODE = @PromotionalCode,
PROMOTIONAL_MSG = @PromotionalMsg,
-- PROMOTION_TYPE = @PromotionType,
PROMOTION_VALUE = @PromotionValue,
MIN_SENDING_AMT = @minAmt,
START_DT = @startDate,
END_DT = @endDate
RETURN
END
END
END