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
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
|