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