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.
114 lines
3.3 KiB
114 lines
3.3 KiB
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
|