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.

111 lines
3.9 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[PROC_CHECK_CUSTOMER_REGISTRATION] Script Date: 7/4/2019 11:35:48 AM ******/
  4. DROP PROCEDURE [dbo].[PROC_CHECK_CUSTOMER_REGISTRATION]
  5. GO
  6. /****** Object: StoredProcedure [dbo].[PROC_CHECK_CUSTOMER_REGISTRATION] 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_CHECK_CUSTOMER_REGISTRATION]
  12. (
  13. @flag VARCHAR(20)
  14. ,@customerName VARCHAR(150)= NULL
  15. ,@customerIdNo VARCHAR(20) = NULL
  16. ,@nativeCountryId VARCHAR(30) = NULL
  17. ,@custAdd VARCHAR(500)= NULL
  18. ,@district VARCHAR(150)= NULL
  19. ,@custCity VARCHAR(150)= NULL
  20. ,@custEmail VARCHAR(150)= NULL
  21. ,@custMobile VARCHAR(20) = NULL
  22. ,@custDOB DATETIME = NULL
  23. ,@placeOfIssue VARCHAR(80) = NULL
  24. ,@occupation VARCHAR(150)= NULL
  25. ,@relationId VARCHAR(50) = NULL
  26. ,@relativeName VARCHAR(100)= NULL
  27. ,@custGender VARCHAR(30) = NULL
  28. ,@user VARCHAR(70) = NULL
  29. ,@custIdissueDate VARCHAR(15) = NULL
  30. ,@custIdValidDate DATETIME = NULL
  31. ,@customerIdType VARCHAR(40) = NULL
  32. ,@ipAddress VARCHAR(50) = NULL
  33. ,@customerId VARCHAR(20) = NULL OUT
  34. )
  35. AS;
  36. SET NOCOUNT ON;
  37. SET XACT_ABORT ON;
  38. BEGIN TRY
  39. BEGIN
  40. IF @flag = 'i'
  41. BEGIN
  42. IF ISNULL(@custEmail, '') = ''
  43. BEGIN
  44. SET @customerId = '0000'
  45. RETURN;
  46. END
  47. IF EXISTS(SELECT 1 FROM CUSTOMERMASTER (NOLOCK) WHERE REPLACE(idNumber,'-','') = REPLACE(@customerIdNo, '-', ''))
  48. BEGIN
  49. SELECT @customerId = customerId FROM customerMaster (NOLOCK) WHERE REPLACE(idNumber,'-','') = REPLACE(@customerIdNo, '-', '')
  50. RETURN;
  51. END
  52. IF EXISTS(SELECT 1 FROM CUSTOMERMASTER (NOLOCK) WHERE email = @custEmail)
  53. BEGIN
  54. SELECT @customerId = customerId FROM customerMaster (NOLOCK) WHERE email = @custEmail
  55. RETURN;
  56. END
  57. IF EXISTS(SELECT 1 FROM CUSTOMERMASTER (NOLOCK) WHERE ISNULL(fullName, firstName) = @customerName AND dob = @custDOB)
  58. BEGIN
  59. SELECT @customerId = customerId FROM customerMaster (NOLOCK) WHERE ISNULL(fullName, firstName) = @customerName AND dob = @custDOB
  60. RETURN;
  61. END
  62. DECLARE @newMobileNumber VARCHAR(20) = REPLACE(@custMobile, '+', '')
  63. SET @newMobileNumber = CASE WHEN @newMobileNumber LIKE '82%' THEN STUFF(@newMobileNumber, 1, 2, '') ELSE @newMobileNumber END
  64. SET @newMobileNumber = CASE
  65. WHEN @newMobileNumber LIKE '0%' THEN STUFF(@newMobileNumber, 1, 1, '')
  66. ELSE @newMobileNumber
  67. END
  68. SET @newMobileNumber = '%' + @newMobileNumber
  69. IF EXISTS(SELECT 1 FROM customerMaster (NOLOCK) WHERE ISNULL(fullName, firstName) = @customerName AND mobile LIKE @newMobileNumber)
  70. BEGIN
  71. SELECT @customerId = customerId FROM customerMaster (NOLOCK) WHERE firstName = @customerName AND mobile LIKE @newMobileNumber
  72. RETURN;
  73. END
  74. DECLARE @newPassword VARCHAR(10) = RIGHT('0000000' + CAST(CHECKSUM(NEWID()) AS VARCHAR), 7)
  75. INSERT INTO customerMaster (
  76. firstName, country, [address], district, city, email, homePhone, mobile
  77. ,nativeCountry, dob, placeOfIssue, occupation, relationId, relativeName, gender
  78. , fullName, createdBy, createdDate, idIssueDate, idExpiryDate, idType, idNumber ,onlineUser
  79. ,ipAddress ,customerPassword ,customerType ,isActive , isForcedPwdChange
  80. )
  81. SELECT
  82. @customerName, '118', @custAdd, @district, @custCity, @custEmail, @customerIdNo, @custMobile
  83. , @nativeCountryId, @custDOB, @placeOfIssue, @occupation, @relationId ,@relativeName ,@custGender
  84. , @customerName, @user, GETDATE(), @custIdissueDate, @custIdValidDate, @customerIdType, @customerIdNo, 'Y'
  85. , @ipAddress, dbo.FNAEncryptString(@newPassword), '4700', 'Y', '1'
  86. SET @customerId = SCOPE_IDENTITY()
  87. END
  88. END
  89. END TRY
  90. BEGIN CATCH
  91. IF @@TRANCOUNT <> 0
  92. ROLLBACK TRANSACTION;
  93. DECLARE @errorMessage VARCHAR(MAX);
  94. SET @errorMessage = ERROR_MESSAGE();
  95. EXEC proc_errorHandler 1, @errorMessage, @user;
  96. END CATCH;
  97. GO