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.

499 lines
28 KiB

10 months ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_change_customer_email] Script Date: 11/21/2023 11:03:35 PM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. ALTER PROCEDURE [dbo].[proc_change_customer_email] @flag VARCHAR(50) = NULL
  9. ,@newEmail VARCHAR(50) = NULL
  10. ,@oldEmail VARCHAR(50) = NULL
  11. ,@user VARCHAR(30) = NULL
  12. ,@customerId VARCHAR(30) = NULL
  13. ,@searchCriteria VARCHAR(30) = NULL
  14. ,@searchValue VARCHAR(50) = NULL
  15. ,@fromDate DATETIME = NULL
  16. ,@toDate DATETIME = NULL
  17. ,@agentId BIGINT = NULL
  18. ,@obpId VARCHAR(50) = NULL
  19. --grid parameters
  20. ,@pageSize VARCHAR(50) = NULL
  21. ,@pageNumber VARCHAR(50) = NULL
  22. ,@sortBy VARCHAR(50) = NULL
  23. ,@sortOrder VARCHAR(50) = NULL
  24. ,@modifiedBy VARCHAR(50) = NULL
  25. ,@modifiedDate DATETIME = NULL
  26. AS
  27. BEGIN
  28. -- SET NOCOUNT ON added to prevent extra result sets from
  29. -- interfering with SELECT statements.
  30. SET NOCOUNT ON;
  31. DECLARE @table VARCHAR(MAX)
  32. ,@select_field_list VARCHAR(MAX)
  33. ,@extra_field_list VARCHAR(MAX)
  34. ,@sql_filter VARCHAR(MAX)
  35. DECLARE @email VARCHAR(200)
  36. SET @toDate = @toDate + ' 23:59:59'
  37. IF @flag = 'searchByEmail'
  38. BEGIN
  39. SELECT '' value
  40. ,'Select' [text]
  41. UNION ALL
  42. SELECT 'email'
  43. ,'Email ID'
  44. UNION ALL
  45. SELECT 'IdNumber'
  46. ,'ID - Number'
  47. UNION ALL
  48. SELECT 'mobile'
  49. ,'Mobile No'
  50. RETURN
  51. END
  52. --IF @flag = 'updateEmailold' --update new email address
  53. --BEGIN
  54. -- DECLARE @userName VARCHAR(50)
  55. -- SELECT @userName = username
  56. -- FROM CUSTOMERMASTER
  57. -- WHERE customerId = @customerId --email=@oldEmail
  58. -- --to check when username is null and new email != old email
  59. -- IF @userName IS NULL
  60. -- OR @userName <> @oldEmail
  61. -- BEGIN
  62. -- IF EXISTS (
  63. -- SELECT 'X'
  64. -- FROM dbo.customerMaster cm(NOLOCK)
  65. -- left join mobile_userRegistration mr ON cm.email = mr.username
  66. -- WHERE (cm.email = @newEmail or mr.username = @newEmail) AND cm.customerId <> @customerId
  67. -- --AND approvedBy IS NOT NULL
  68. -- )
  69. -- BEGIN
  70. -- SELECT '1' ErrorCode
  71. -- ,'Customer with same email already exists.' Msg
  72. -- ,NULL
  73. -- RETURN
  74. -- END
  75. -- ELSE
  76. -- BEGIN
  77. -- EXEC PROC_CUSTOMERMODIFYLOG @flag = 'i-update'
  78. -- ,@email = @newEmail
  79. -- ,@customerId = @customerId
  80. -- ,@user = @user
  81. -- ,@username = @newEmail
  82. -- UPDATE customerMaster
  83. -- SET username = @newEmail
  84. -- ,email = @newEmail
  85. -- WHERE customerId = @customerId
  86. -- SELECT '0' ErrorCode
  87. -- ,'Customer username updated.' Msg
  88. -- ,@email id
  89. -- ,'Y' extra
  90. -- RETURN
  91. -- END
  92. -- END
  93. -- ELSE IF EXISTS (
  94. -- SELECT 'X'
  95. -- FROM dbo.mobile_userRegistration(NOLOCK)
  96. -- WHERE username = @newEmail
  97. -- )
  98. -- BEGIN
  99. -- SELECT '1' ErrorCode
  100. -- ,'Customer with same username already exists.' Msg
  101. -- ,NULL
  102. -- RETURN
  103. -- END
  104. -- ELSE
  105. -- BEGIN
  106. -- EXEC PROC_CUSTOMERMODIFYLOG @flag = 'i-update'
  107. -- ,@email = @newEmail
  108. -- ,@customerId = @customerId
  109. -- ,@user = @user
  110. -- ,@username = @newEmail
  111. -- UPDATE dbo.mobile_userRegistration
  112. -- SET
  113. -- username = @newEmail
  114. -- ,modifiedBy = @user
  115. -- ,modifiedDate = GETDATE()
  116. -- WHERE customerId = @customerId
  117. -- SELECT '0' ErrorCode
  118. -- ,'Username updated successfully.' Msg
  119. -- ,@email id
  120. -- ,'Y' extra
  121. -- --,'verified' EXTRA2
  122. -- RETURN
  123. -- END
  124. --END
  125. -- ELSE IF EXISTS (
  126. -- SELECT 'X'
  127. -- FROM dbo.customerMaster(NOLOCK) cm
  128. -- INNER JOIN dbo.mobile_userRegistration(NOLOCK) mr ON cm.email = mr.username
  129. -- WHERE cm.email <> @newEmail
  130. -- )
  131. -- BEGIN
  132. -- EXEC PROC_CUSTOMERMODIFYLOG @flag = 'i-update'
  133. -- ,@email = @newEmail
  134. -- ,@customerId = @customerId
  135. -- ,@user = @user
  136. -- ,@userName = @newEmail
  137. -- UPDATE customerMaster
  138. -- SET email = @newEmail
  139. -- ,username = @newEmail
  140. -- ,modifiedBy = @user
  141. -- ,modifiedDate = GETDATE()
  142. -- ,approvedDate = NULL
  143. -- ,approvedBy = NULL
  144. -- ,customerEmail = @email
  145. -- WHERE customerId = @customerId
  146. -- UPDATE mobile_userRegistration
  147. -- SET username = @newEmail
  148. -- ,modifiedBy = @user
  149. -- ,modifiedDate = GETDATE()
  150. -- WHERE customerId = @customerId
  151. -- UPDATE TBL_MOBILE_OTP_REQUEST
  152. -- SET is_expired = '1'
  153. -- WHERE USER_ID = @oldEmail
  154. -- AND REQUEST_FOR = 'REGISTER'
  155. -- SELECT '0' ErrorCode
  156. -- ,'Username updated successfully.' Msg
  157. -- ,@email id
  158. -- ,'Y' extra
  159. -- RETURN
  160. -- END
  161. --END
  162. IF @flag = 'updateEmail'
  163. BEGIN
  164. DECLARE @userName VARCHAR(50)
  165. SELECT @userName = username
  166. FROM CUSTOMERMASTER
  167. WHERE customerId = @customerId
  168. --IF @userName IS NOT NULL
  169. BEGIN
  170. IF EXISTS (
  171. SELECT 'X'
  172. FROM dbo.customerMaster cm(NOLOCK)
  173. LEFT JOIN mobile_userRegistration mr ON cm.email = mr.username
  174. --WHERE (email = @newEmail OR mr.username = @newEmail) AND cm.customerId <> @customerId
  175. WHERE email = @newEmail
  176. AND cm.customerId <> @customerId
  177. )
  178. BEGIN
  179. SELECT '1' ErrorCode
  180. ,'Customer with same username already exists.' Msg
  181. ,NULL
  182. RETURN
  183. END
  184. ELSE IF EXISTS (
  185. SELECT 'X'
  186. FROM dbo.customerMaster cm(NOLOCK)
  187. LEFT JOIN mobile_userRegistration mr ON cm.email = mr.username
  188. --WHERE (email = @newEmail OR mr.username = @newEmail) AND cm.customerId = @customerId
  189. WHERE email = @newEmail
  190. AND cm.customerId = @customerId
  191. )
  192. BEGIN
  193. EXEC PROC_CUSTOMERMODIFYLOG @flag = 'i-update'
  194. ,@email = @newEmail
  195. ,@customerId = @customerId
  196. ,@user = @user
  197. ,@username = @newEmail
  198. UPDATE customerMaster
  199. SET username = @newEmail
  200. ,email = @newEmail
  201. ,isEmailVerified = 0
  202. ,modifiedBy = @user
  203. ,modifiedDate = GETDATE()
  204. WHERE customerId = @customerId
  205. UPDATE dbo.mobile_userRegistration
  206. SET username = @newEmail
  207. ,modifiedBy = @user
  208. ,modifiedDate = GETDATE()
  209. WHERE customerId = @customerId
  210. UPDATE TBL_MOBILE_OTP_REQUEST
  211. SET is_expired = '1'
  212. WHERE USER_ID = @oldEmail
  213. AND REQUEST_FOR = 'REGISTER'
  214. SELECT '0' ErrorCode
  215. ,'Customer username updated.' Msg
  216. ,@email id
  217. ,'Y' extra
  218. RETURN
  219. END
  220. ELSE IF EXISTS (
  221. SELECT 'X'
  222. FROM dbo.customerMaster cm(NOLOCK)
  223. LEFT JOIN mobile_userRegistration mr ON cm.email = mr.username
  224. WHERE email <> @newEmail --AND cm.customerId = @customerId
  225. )
  226. BEGIN
  227. EXEC PROC_CUSTOMERMODIFYLOG @flag = 'i-update'
  228. ,@email = @newEmail
  229. ,@customerId = @customerId
  230. ,@user = @user
  231. ,@username = @newEmail
  232. UPDATE customerMaster
  233. SET username = @newEmail
  234. ,email = @newEmail
  235. ,isEmailVerified = 0
  236. ,modifiedBy = @user
  237. ,modifiedDate = GETDATE()
  238. WHERE customerId = @customerId
  239. UPDATE dbo.mobile_userRegistration
  240. SET username = @newEmail
  241. ,modifiedBy = @user
  242. ,modifiedDate = GETDATE()
  243. WHERE customerId = @customerId
  244. UPDATE TBL_MOBILE_OTP_REQUEST
  245. SET is_expired = '1'
  246. WHERE USER_ID = @oldEmail
  247. AND REQUEST_FOR = 'REGISTER'
  248. SELECT '0' ErrorCode
  249. ,'Customer username updated.' Msg
  250. ,@email id
  251. ,'Y' extra
  252. RETURN
  253. END
  254. END
  255. END
  256. --ELSE IF @userName IS NULL
  257. --BEGIN
  258. -- IF EXISTS (
  259. -- SELECT 'X'
  260. -- FROM dbo.customerMaster cm(NOLOCK)
  261. -- left join mobile_userRegistration mr ON cm.email = mr.username
  262. -- WHERE (email = @newEmail OR mr.username = @newEmail) AND cm.customerId <> @customerId
  263. -- )
  264. -- BEGIN
  265. -- SELECT '1' ErrorCode
  266. -- ,'Customer with same username already exists.' Msg
  267. -- ,NULL
  268. -- RETURN
  269. -- END
  270. -- ELSE IF EXISTS (
  271. -- SELECT 'X'
  272. -- FROM dbo.customerMaster cm(NOLOCK)
  273. -- left join mobile_userRegistration mr ON cm.email = mr.username
  274. -- WHERE (email = @newEmail OR mr.username = @newEmail) AND cm.customerId = @customerId
  275. -- )
  276. -- BEGIN
  277. -- EXEC PROC_CUSTOMERMODIFYLOG @flag = 'i-update'
  278. -- ,@email = @newEmail
  279. -- ,@customerId = @customerId
  280. -- ,@user = @user
  281. -- ,@username = @newEmail
  282. -- UPDATE customerMaster
  283. -- SET username = @newEmail
  284. -- ,email = @newEmail
  285. -- ,isEmailVerified ='0'
  286. -- WHERE customerId = @customerId
  287. -- UPDATE dbo.mobile_userRegistration
  288. -- SET
  289. -- username = @newEmail
  290. -- ,modifiedBy = @user
  291. -- ,modifiedDate = GETDATE()
  292. -- WHERE customerId = @customerId
  293. -- UPDATE TBL_MOBILE_OTP_REQUEST
  294. -- SET is_expired = '1'
  295. -- WHERE USER_ID = @oldEmail
  296. -- AND REQUEST_FOR = 'REGISTER'
  297. -- SELECT '0' ErrorCode
  298. -- ,'Customer username updated.' Msg
  299. -- ,@email id
  300. -- ,'Y' extra
  301. -- RETURN
  302. -- END
  303. --END
  304. /*old*/
  305. --BEGIN
  306. -- IF EXISTS (
  307. -- SELECT 'X'
  308. -- FROM dbo.customerMaster cm(NOLOCK)
  309. -- left join mobile_userRegistration mr ON cm.email = mr.username
  310. -- WHERE email = @newEmail OR mr.username = @newEmail) AND cm.customerId = @customerId
  311. -- --AND approvedBy IS NOT NULL
  312. -- )
  313. -- BEGIN
  314. -- EXEC PROC_CUSTOMERMODIFYLOG @flag = 'i-update'
  315. -- ,@email = @newEmail
  316. -- ,@customerId = @customerId
  317. -- ,@user = @user
  318. -- ,@username = @newEmail
  319. -- UPDATE customerMaster
  320. -- SET username = @newEmail
  321. -- ,email = @newEmail
  322. -- ,isEmailVerified ='0'
  323. -- WHERE customerId = @customerId
  324. -- UPDATE dbo.mobile_userRegistration
  325. -- SET
  326. -- username = @newEmail
  327. -- ,modifiedBy = @user
  328. -- ,modifiedDate = GETDATE()
  329. -- WHERE customerId = @customerId
  330. -- UPDATE TBL_MOBILE_OTP_REQUEST
  331. -- SET is_expired = '1'
  332. -- WHERE USER_ID = @oldEmail
  333. -- AND REQUEST_FOR = 'REGISTER'
  334. -- SELECT '0' ErrorCode
  335. -- ,'Customer username updated.' Msg
  336. -- ,@email id
  337. -- ,'Y' extra
  338. -- END
  339. --END
  340. -- ELSE IF EXISTS (
  341. -- SELECT 'X'
  342. -- FROM dbo.customerMaster cm(NOLOCK)
  343. -- left join mobile_userRegistration mr ON cm.email = mr.username
  344. -- WHERE (cm.email = @newEmail or mr.username = @newEmail) AND cm.customerId <> @customerId
  345. -- --AND approvedBy IS NOT NULL
  346. -- )
  347. -- BEGIN
  348. -- SELECT '1' ErrorCode
  349. -- ,'Customer with same email already exists.' Msg
  350. -- ,NULL
  351. -- RETURN
  352. -- END
  353. -- ELSE
  354. -- BEGIN
  355. -- EXEC PROC_CUSTOMERMODIFYLOG @flag = 'i-update'
  356. -- ,@email = @newEmail
  357. -- ,@customerId = @customerId
  358. -- ,@user = @user
  359. -- ,@username = @newEmail
  360. -- UPDATE customerMaster
  361. -- SET username = @newEmail
  362. -- ,email = @newEmail
  363. -- ,isEmailVerified ='0'
  364. -- --, approvedBy = null
  365. -- --, approvedDate = null
  366. -- --, mobileApprovedBy = null
  367. -- --, mobileApprovedDate = null
  368. -- --, mobileverifiedby = null
  369. -- --, mobileVerificationtype = null
  370. -- --,modifiedBy = @user
  371. -- -- ,modifiedDate = GETDATE()
  372. -- WHERE customerId = @customerId
  373. -- IF EXISTS (
  374. -- SELECT 'X'
  375. -- FROM dbo.mobile_userRegistration
  376. -- WHERE customerId = @customerId --AND username = @oldemail
  377. -- )
  378. -- BEGIN
  379. -- UPDATE dbo.mobile_userRegistration
  380. -- SET
  381. -- username = @newEmail
  382. -- ,modifiedBy = @user
  383. -- ,modifiedDate = GETDATE()
  384. -- WHERE customerId = @customerId
  385. -- UPDATE TBL_MOBILE_OTP_REQUEST
  386. -- SET is_expired = '1'
  387. -- WHERE USER_ID = @oldEmail
  388. -- AND REQUEST_FOR = 'REGISTER'
  389. -- END
  390. -- SELECT '0' ErrorCode
  391. -- ,'Customer username updated.' Msg
  392. -- ,@email id
  393. -- ,'Y' extra
  394. -- RETURN
  395. -- END
  396. IF @flag = 'pending-cust-from-mobile'
  397. BEGIN
  398. DECLARE @searchEmail VARCHAR(50)
  399. SELECT @searchEmail = email
  400. FROM dbo.customerMaster(NOLOCK)
  401. WHERE customerId = @customerId
  402. SET @sortBy = 'createdDate'
  403. SET @sortOrder = 'desc'
  404. SET @table =
  405. '(
  406. SELECT customerId=cm.customerId
  407. ,CM.membershipid
  408. ,cm.userName
  409. ,email=cm.email
  410. ,fullName= REPLACE(ISNULL(cm.firstName, '''') + ISNULL('' '' + cm.middleName, '''') + ISNULL('' '' + cm.lastName1, ''''), '' '', '' '')
  411. ,dob=CONVERT(VARCHAR,cm.dob,101)
  412. ,address=cm.[address]
  413. ,nativeCountry=com.countryName
  414. ,idtype= ''''--case when cm.idtype=''11402'' then ISNULL(sdv.detailTitle, '''') + (''-'') + ISNULL('' '' + cm.otherIdNumber, '''') else sdv.detailTitle end
  415. ,idNumber=cm.idNumber
  416. ,createdDate=CAST(cm.createdDate AS DATE)
  417. ,createdBy=cm.createdBy
  418. ,verifiedBy=cm.verifiedBy
  419. ,verifiedDate=CAST(cm.verifiedDate AS DATE)
  420. ,mobile=cm.mobile
  421. ,cm.agentId
  422. ,case when isnull(cm.isExistingCustomer,0) = 1 then ''Yes'' ELSE ''No'' End isExistingCustomer
  423. ,createdUserFrom = ''mobile''
  424. ,mobileApprovedBy = cm.mobileApprovedBy
  425. ,mobileApprovedDate = cm.mobileApprovedDate
  426. ,mobileverifiedby = cm.mobileverifiedby
  427. ,mobileverifieddate = cm.mobileverifieddate
  428. ,OTP_Verified=case when isnull(x.IS_SUCCESS,0) = 1 then ''Yes'' ELSE ''No'' End
  429. FROM customerMaster cm(NOLOCK)
  430. LEFT JOIN countryMaster com(NOLOCK) ON cm.nativeCountry=com.countryId
  431. -- INNER JOIN staticDataValue sdv (NOLOCK) ON sdv.valueId=cm.idType AND sdv.typeID=1300
  432. --LEFT JOIN TBL_MOBILE_OTP_REQUEST otp(NOLOCK) ON cm.email=otp.USER_ID
  433. LEFT JOIN (select top 1 USER_ID , IS_SUCCESS from TBL_MOBILE_OTP_REQUEST where REQUEST_FOR=''REGISTER'' and USER_ID='''
  434. + @searchEmail + ''')x on x.user_id = cm.email
  435. --AND CM.ISACTIVE = ''Y''
  436. WHERE customerId = ''' + @customerId + '''
  437. --AND USERNAME IS NOT NULL
  438. and cm.membershipId is not null
  439. )X'
  440. --IF ISNULL(@fromDate, '') <> ''
  441. -- AND ISNULL(@toDate, '') <> ''
  442. -- SET @table = @table + ' AND createdDate BETWEEN ''' + CAST(@fromDate AS VARCHAR) + ''' AND ''' + CAST(@toDate AS VARCHAR) + ''''
  443. --SET @table = @table + ')x'
  444. --SET @sql_filter = ''
  445. --IF ISNULL(@searchCriteria, '') <> ''
  446. -- AND ISNULL(@searchValue, '') <> ''
  447. --BEGIN
  448. -- IF @searchCriteria = 'emailId'
  449. -- BEGIN
  450. -- SET @sql_Filter = @sql_Filter + ' AND email like ''' + @searchValue + '%'''
  451. -- END
  452. --END
  453. --PRINT @table;
  454. SET @select_field_list = '
  455. customerId,userName,isExistingCustomer,membershipid,email,fullName,dob,address,nativeCountry,idtype,idNumber
  456. ,createdDate,createdBy,verifiedBy,verifiedDate,createdUserFrom,mobileApprovedBy,mobileApprovedDate,mobileverifiedby,mobileverifieddate,OTP_Verified
  457. '
  458. EXEC dbo.proc_paging @table
  459. ,@sql_filter
  460. ,@select_field_list
  461. ,@extra_field_list
  462. ,@sortBy
  463. ,@sortOrder
  464. ,@pageSize
  465. ,@pageNumber
  466. --,@action
  467. RETURN
  468. END
  469. END