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

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_GoldCardSetup] Script Date: 7/4/2019 11:35:48 AM ******/
  4. DROP PROCEDURE [dbo].[proc_GoldCardSetup]
  5. GO
  6. /****** Object: StoredProcedure [dbo].[proc_GoldCardSetup] Script Date: 7/4/2019 11:35:48 AM ******/
  7. SET ANSI_NULLS ON
  8. GO
  9. SET QUOTED_IDENTIFIER ON
  10. GO
  11. CREATE PROC [dbo].[proc_GoldCardSetup] (
  12. @flag VARCHAR(50) = NULL
  13. ,@user VARCHAR(30) = NULL
  14. ,@searchCriteria VARCHAR(50) = NULL
  15. ,@searchValue VARCHAR(50) = NULL
  16. ,@email VARCHAR(50) = NULL
  17. ,@goldcardno VARCHAR(10) = NULL
  18. )
  19. AS
  20. SET NOCOUNT ON;
  21. SET XACT_ABORT ON;
  22. BEGIN TRY
  23. CREATE TABLE #msg(errorCode INT, msg VARCHAR(100), id INT)
  24. DECLARE
  25. @sql VARCHAR(MAX)
  26. ,@errorMsg VARCHAR(MAX)
  27. IF @flag = 's'
  28. BEGIN
  29. SET @sql = '
  30. SELECT TOP 1 0 errorCode
  31. ,customerId
  32. ,membershipId = cm.membershipId+'' ''
  33. ,fullName = ISNULL(firstName, '' '') + ISNULL(middleName, '' '') + ISNULL(lastName1, '''')
  34. ,ISNULL(cm.idNumber,'''') as idNumber
  35. ,ISNULL(cm.email,''N/A'') as email
  36. ,ISNULL(cm.mobile,''N/A'') as mobile
  37. FROM dbo.customerMaster cm(nolock)
  38. WHERE 1=1 '
  39. IF ISNULL(@searchCriteria,'')<>'' AND ISNULL(@searchValue,'')<>''
  40. BEGIN
  41. IF @searchCriteria='idNumber'
  42. BEGIN
  43. SET @sql= @sql + ' AND REPLACE(idNumber, ''-'', '''') = ''' +REPLACE(@searchValue, '-', '')+''''
  44. END
  45. ELSE IF @searchCriteria='email'
  46. SET @sql= @sql + ' AND email = ''' +@searchValue+''''
  47. END
  48. EXEC(@sql)
  49. RETURN
  50. END
  51. IF @flag= 'U'
  52. BEGIN
  53. DECLARE @agentid VARCHAR(30) ,@customerID BIGINT = NULL ,@membershipId varchar(20),@approvedDate date
  54. SELECT @agentid= agentId FROM applicationUsers(NOLOCK) WHERE userName = @user
  55. SELECT @customerID =customerId,@membershipId = membershipId,@approvedDate=approvedDate FROM customerMaster(NOLOCK) WHERE email = @email
  56. IF (ISNUMERIC(@goldcardno) <>1)
  57. BEGIN
  58. EXEC proc_errorHandler '1', 'Gold card number must be number', NULL
  59. return
  60. END
  61. IF (LEN(@goldcardno) <>6)
  62. BEGIN
  63. EXEC proc_errorHandler '1', 'Please enter 6 digit gold card number !', NULL
  64. RETURN
  65. END
  66. IF @approvedDate IS NULL
  67. BEGIN
  68. EXEC proc_errorHandler '1', 'Only Approved customer can have Gold card!', NULL
  69. RETURN
  70. END
  71. IF EXISTS(SELECT 1 FROM dbo.customerMaster(nolock) WHERE membershipId = @goldcardno)
  72. BEGIN
  73. EXEC proc_errorHandler '1', 'Gold card number already assigned!', NULL
  74. return
  75. END
  76. IF @membershipId = @goldcardno
  77. BEGIN
  78. EXEC proc_errorHandler '1', 'Gold card number already assigned!', NULL
  79. return
  80. END
  81. ELSE BEGIN
  82. IF @membershipId IS NOT NULL
  83. BEGIN
  84. INSERT INTO TBLCUSTOMERMODIFYLOGS(customerId, columnName, newValue, modifiedBy, modifiedDate)
  85. SELECT @customerId, 'GoldCard', @membershipId, memberIDissuedByUser,memberIDissuedDate FROM customerMaster(NOLOCK) where customerId = @customerID
  86. END
  87. Update customerMaster set membershipId = @goldcardno, memberIDissuedDate = GETDATE(),memberIDissuedByUser = @user,
  88. memberIDissuedBranchId = @agentid
  89. where customerId = @customerID
  90. EXEC proc_errorHandler '0', 'updated successfully!', NULL
  91. END
  92. END
  93. END TRY
  94. BEGIN CATCH
  95. IF @@TRANCOUNT > 0
  96. ROLLBACK TRANSACTION
  97. DECLARE @errorMessage VARCHAR(MAX)
  98. SET @errorMessage = ERROR_MESSAGE()
  99. EXEC proc_errorHandler 1, @errorMessage, null
  100. END CATCH
  101. GO