|
|
USE [FastMoneyPro_Remit] GO /****** Object: StoredProcedure [dbo].[proc_GoldCardSetup] Script Date: 7/4/2019 11:35:48 AM ******/ DROP PROCEDURE [dbo].[proc_GoldCardSetup] GO /****** Object: StoredProcedure [dbo].[proc_GoldCardSetup] Script Date: 7/4/2019 11:35:48 AM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO
CREATE PROC [dbo].[proc_GoldCardSetup] ( @flag VARCHAR(50) = NULL ,@user VARCHAR(30) = NULL ,@searchCriteria VARCHAR(50) = NULL ,@searchValue VARCHAR(50) = NULL ,@email VARCHAR(50) = NULL ,@goldcardno VARCHAR(10) = NULL ) AS SET NOCOUNT ON; SET XACT_ABORT ON; BEGIN TRY CREATE TABLE #msg(errorCode INT, msg VARCHAR(100), id INT)
DECLARE @sql VARCHAR(MAX) ,@errorMsg VARCHAR(MAX)
IF @flag = 's' BEGIN SET @sql = '
SELECT TOP 1 0 errorCode ,customerId ,membershipId = cm.membershipId+'' '' ,fullName = ISNULL(firstName, '' '') + ISNULL(middleName, '' '') + ISNULL(lastName1, '''') ,ISNULL(cm.idNumber,'''') as idNumber ,ISNULL(cm.email,''N/A'') as email ,ISNULL(cm.mobile,''N/A'') as mobile FROM dbo.customerMaster cm(nolock) WHERE 1=1 '
IF ISNULL(@searchCriteria,'')<>'' AND ISNULL(@searchValue,'')<>'' BEGIN IF @searchCriteria='idNumber' BEGIN SET @sql= @sql + ' AND REPLACE(idNumber, ''-'', '''') = ''' +REPLACE(@searchValue, '-', '')+'''' END ELSE IF @searchCriteria='email' SET @sql= @sql + ' AND email = ''' +@searchValue+'''' END EXEC(@sql) RETURN END
IF @flag= 'U' BEGIN DECLARE @agentid VARCHAR(30) ,@customerID BIGINT = NULL ,@membershipId varchar(20),@approvedDate date
SELECT @agentid= agentId FROM applicationUsers(NOLOCK) WHERE userName = @user
SELECT @customerID =customerId,@membershipId = membershipId,@approvedDate=approvedDate FROM customerMaster(NOLOCK) WHERE email = @email
IF (ISNUMERIC(@goldcardno) <>1) BEGIN EXEC proc_errorHandler '1', 'Gold card number must be number', NULL return END IF (LEN(@goldcardno) <>6) BEGIN EXEC proc_errorHandler '1', 'Please enter 6 digit gold card number !', NULL RETURN END IF @approvedDate IS NULL BEGIN EXEC proc_errorHandler '1', 'Only Approved customer can have Gold card!', NULL RETURN END IF EXISTS(SELECT 1 FROM dbo.customerMaster(nolock) WHERE membershipId = @goldcardno) BEGIN EXEC proc_errorHandler '1', 'Gold card number already assigned!', NULL return END IF @membershipId = @goldcardno BEGIN EXEC proc_errorHandler '1', 'Gold card number already assigned!', NULL return END ELSE BEGIN IF @membershipId IS NOT NULL BEGIN INSERT INTO TBLCUSTOMERMODIFYLOGS(customerId, columnName, newValue, modifiedBy, modifiedDate) SELECT @customerId, 'GoldCard', @membershipId, memberIDissuedByUser,memberIDissuedDate FROM customerMaster(NOLOCK) where customerId = @customerID END Update customerMaster set membershipId = @goldcardno, memberIDissuedDate = GETDATE(),memberIDissuedByUser = @user, memberIDissuedBranchId = @agentid where customerId = @customerID EXEC proc_errorHandler '0', 'updated successfully!', NULL END END END TRY BEGIN CATCH IF @@TRANCOUNT > 0 ROLLBACK TRANSACTION DECLARE @errorMessage VARCHAR(MAX) SET @errorMessage = ERROR_MESSAGE() EXEC proc_errorHandler 1, @errorMessage, null END CATCH GO
|