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.

667 lines
20 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_dcManagement] Script Date: 7/4/2019 11:35:48 AM ******/
  4. DROP PROCEDURE [dbo].[proc_dcManagement]
  5. GO
  6. /****** Object: StoredProcedure [dbo].[proc_dcManagement] 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_dcManagement]
  12. @flag VARCHAR(50) = NULL
  13. ,@user VARCHAR(30) = NULL
  14. ,@requestId VARCHAR(30) = NULL
  15. ,@dcRequestId VARCHAR(30) = NULL
  16. ,@userId VARCHAR(30) = NULL
  17. ,@userName VARCHAR(30) = NULL
  18. ,@pwd VARCHAR(50) = NULL
  19. ,@agentCode VARCHAR(20) = NULL
  20. ,@userAddress VARCHAR(100) = NULL
  21. ,@companyName VARCHAR(150) = NULL
  22. ,@branchName VARCHAR(150) = NULL
  23. ,@approvedDate DATETIME = NULL
  24. ,@approvedFromDate DATETIME = NULL
  25. ,@approvedToDate DATETIME = NULL
  26. ,@isActive CHAR(1) = NULL
  27. ,@sortBy VARCHAR(50) = NULL
  28. ,@sortOrder VARCHAR(5) = NULL
  29. ,@pageSize INT = NULL
  30. ,@pageNumber INT = NULL
  31. ,@ipAddress VARCHAR(50) = NULL
  32. ,@dcSerialNumber VARCHAR(100) = NULL
  33. AS
  34. SET NOCOUNT ON
  35. SET XACT_ABORT ON
  36. BEGIN TRY
  37. CREATE TABLE #msg(errorCode INT, msg VARCHAR(100), id INT)
  38. DECLARE
  39. @sql VARCHAR(MAX)
  40. ,@oldValue VARCHAR(MAX)
  41. ,@newValue VARCHAR(MAX)
  42. ,@tableName VARCHAR(50)
  43. ,@logIdentifier VARCHAR(100)
  44. ,@logParamMain VARCHAR(100)
  45. ,@tableAlias VARCHAR(100)
  46. ,@modType VARCHAR(6)
  47. ,@module INT
  48. ,@select_field_list VARCHAR(MAX)
  49. ,@extra_field_list VARCHAR(MAX)
  50. ,@table VARCHAR(MAX)
  51. ,@sql_filter VARCHAR(MAX)
  52. ,@ApprovedFunctionId INT
  53. ,@userDcSerialNumber VARCHAR(100)
  54. ,@userDcUserName VARCHAR(100)
  55. SELECT
  56. @logIdentifier = 'requestId'
  57. ,@logParamMain = 'certificateMaster'
  58. ,@tableAlias = 'Digital Certificate'
  59. ,@module = 10
  60. IF @flag = 'loginAdmin' --Check if IPAddress exist
  61. BEGIN
  62. DECLARE @UserData varchar(2000), @agentType INT, @actAsBranch CHAR(1), @agentId INT, @userInfoDetail VARCHAR(200)
  63. SET @UserData ='User:'+ @userName +', UserCode:'+ CAST(@userId as varchar(20))
  64. SELECT TOP 1 @agentType = agentType, @actAsBranch = actAsBranch, @agentId = agentId
  65. FROM agentMaster WITH(NOLOCK)
  66. WHERE agentId = (
  67. SELECT agentId FROM applicationUsers WITH(NOLOCK) WHERE userName = @userName
  68. )
  69. IF (@agentType = (2904) OR @actAsBranch = 'Y')
  70. BEGIN
  71. SET @UserInfoDetail = 'Reason = Login fails, Incorrect user name.-:::-'+@UserInfoDetail
  72. SELECT 1 errorCode, 'Login fails, Agent Cannot Login from here.' mes, @userName id
  73. EXEC proc_applicationLogs
  74. @flag='login',
  75. @logType='Login fails/certsrv',
  76. @createdBy = @userName,
  77. @Reason='Invalid Username',
  78. @UserData = @UserData,
  79. @fieldValue = @UserInfoDetail,
  80. @agentId=@agentId
  81. ,@IP = @ipAddress
  82. RETURN
  83. END
  84. IF NOT EXISTS(SELECT 'X' FROM applicationUsers WHERE [userName] = @userName AND ISNULL(isActive, 'N') = 'Y')
  85. BEGIN
  86. SET @UserInfoDetail = 'Reason = Login fails, User Locked .-:::-'+@UserInfoDetail
  87. SELECT 1 errorCode, 'Login fails, Incorrect user name or password.' mes, @userName id
  88. EXEC proc_applicationLogs
  89. @flag='login',
  90. @logType='Login fails/certsrv',
  91. @createdBy = @userName,
  92. @Reason='User Not Actived',
  93. @UserData = @UserData,
  94. @fieldValue = @UserInfoDetail,
  95. @agentId=@agentId
  96. ,@IP = @ipAddress
  97. RETURN
  98. END
  99. IF NOT EXISTS(SELECT 'X' FROM applicationUsers WHERE [userName] = @userName AND pwd = dbo.FNAEncryptString(@pwd) AND userId = @userId AND ISNULL(isActive, 'N') = 'Y')
  100. BEGIN
  101. SELECT 2 errorCode, 'Login fails, Incorrect user name or password.' mes, @userName id
  102. SET @UserInfoDetail = 'Reason = Login fails, Invalid password.-:::-'+@UserInfoDetail
  103. EXEC proc_applicationLogs
  104. @flag='login',
  105. @logType='Login fails/certsrv',
  106. @createdBy = @userName,
  107. @Reason='Invalid Password',
  108. @UserData = @UserData,
  109. @fieldValue = @UserInfoDetail,
  110. @agentId=@agentId
  111. ,@IP = @ipAddress
  112. RETURN
  113. END
  114. SELECT TOP 1 @requestId = ISNULL(requestId, 0) FROM certificateMaster WITH(NOLOCK) ORDER BY requestId DESC
  115. SET @requestId = 1 + ISNULL(@requestId, 0)
  116. SELECT
  117. errorCode = 0
  118. ,agentId = au.agentId
  119. ,agentUserId = userId
  120. ,userName = userName
  121. ,agentCode = au.agentCode
  122. ,userFullName = firstName + ISNULL(' ' + middleName, '') + ISNULL(' ' + lastName, '')
  123. ,agentName = am.agentName
  124. ,branchName = am.agentName
  125. ,country = am.agentCountry
  126. ,contactNo = COALESCE(am.agentPhone1, am.agentPhone2, am.agentMobile1, am.agentMobile2)
  127. ,email = COALESCE(au.email, am.agentEmail1)
  128. ,GMT = tz.GMT
  129. ,GMTName = tz.name
  130. ,dcRequestId = au.dcApprovedId
  131. ,dcApprovedDate= au.dcApprovedDate
  132. FROM applicationUsers au WITH(NOLOCK)
  133. INNER JOIN agentMaster am WITH(NOLOCK) ON au.agentId = am.agentId
  134. LEFT JOIN timeZones tz WITH(NOLOCK) ON am.localTime = tz.ROWID
  135. WHERE userName = @userName
  136. --Audit data starts
  137. EXEC proc_applicationLogs
  138. @flag='login',
  139. @logType='Login/certsrv',
  140. @createdBy = @userName,
  141. @Reason='Admin Login',
  142. @UserData = @UserData,
  143. @fieldValue = @UserInfoDetail,
  144. @agentId=@agentId
  145. ,@IP = @ipAddress
  146. --Audit data ends
  147. END
  148. ELSE IF @flag = 'loginAgent'
  149. BEGIN
  150. -- exec [proc_applicationUsers] @flag = 'lfg', @userName ='bharat', @pwd = 'bharat', @agentCode='ncb001', @userId=''
  151. SET @UserData ='User:'+ @userName +', UserCode:'+ cast(@userId as varchar(20))
  152. +', AgentCode:'+ cast(@agentCode as varchar(20))
  153. SELECT top 1 @agentType = agentType, @actAsBranch = actAsBranch, @agentId = agentId
  154. FROM agentMaster WITH(NOLOCK)
  155. WHERE agentId = (
  156. SELECT agentId FROM applicationUsers WITH(NOLOCK) WHERE userName = @userName
  157. )
  158. IF NOT EXISTS(SELECT 'X' FROM applicationUsers WHERE [userName] = @userName)
  159. BEGIN
  160. SELECT 1 errorCode, 'Login fails, Incorrect user name or password.' mes, @userName id
  161. SET @UserInfoDetail = 'Reason = Login fails, Incorrect user name.-:::-'+@UserInfoDetail
  162. EXEC proc_applicationLogs
  163. @flag='login',
  164. @logType='Login fails/certsrv',
  165. @createdBy = @userName,
  166. @Reason='Invalid Username',
  167. @UserData = @UserData,
  168. @fieldValue = @UserInfoDetail,
  169. @agentId=@agentId
  170. ,@IP = @ipAddress
  171. RETURN
  172. END
  173. IF EXISTS(SELECT 'X' FROM applicationUsers WHERE userName = @userName AND pwd = dbo.FNAEncryptString(@pwd) AND agentCode = @agentCode AND userId = @userId AND ISNULL(isActive, 'N') = 'N')
  174. BEGIN
  175. SELECT 1 errorCode, 'User has not been approved.' mes, @userName id
  176. SET @UserInfoDetail = 'Reason = User has not been approved.-:::-'+@UserInfoDetail
  177. EXEC proc_applicationLogs
  178. @flag='login',
  179. @logType='Login fails/certsrv',
  180. @createdBy = @userName,
  181. @Reason='User has not been approved',
  182. @UserData = @UserData,
  183. @fieldValue = @UserInfoDetail,
  184. @agentId=@agentId
  185. ,@IP = @ipAddress
  186. RETURN
  187. END
  188. IF NOT EXISTS(SELECT 'X' FROM applicationUsers WHERE [userName] = @userName
  189. AND ISNULL(isActive, 'N') = 'Y')
  190. BEGIN
  191. SELECT 1 errorCode, 'Login fails, Incorrect user name or password.' mes, @userName id
  192. SET @UserInfoDetail = 'Reason = Login fails, User is not Active.-:::-'+@UserInfoDetail
  193. EXEC proc_applicationLogs
  194. @flag='login',
  195. @logType='Login fails/certsrv',
  196. @createdBy = @userName,
  197. @Reason='User is not Active',
  198. @UserData = @UserData,
  199. @fieldValue = @UserInfoDetail,
  200. @agentId=@agentId
  201. ,@IP = @ipAddress
  202. RETURN
  203. END
  204. IF NOT EXISTS(SELECT 'X' FROM applicationUsers WHERE [userName] = @userName
  205. AND pwd = dbo.FNAEncryptString(@pwd) and ISNULL(isActive, 'N') = 'Y')
  206. BEGIN
  207. SELECT 2 errorCode, 'Login fails, Incorrect user name or password.' mes, @userName id
  208. SET @UserInfoDetail = 'Reason = Login fails, Incorrect password.-:::-'+@UserInfoDetail
  209. EXEC proc_applicationLogs
  210. @flag='login',
  211. @logType='Login fails/certsrv',
  212. @createdBy = @userName,
  213. @Reason='Incorrect password',
  214. @UserData = @UserData,
  215. @fieldValue = @UserInfoDetail,
  216. @agentId=@agentId
  217. ,@IP = @ipAddress
  218. RETURN
  219. END
  220. IF NOT EXISTS(SELECT 'X' FROM applicationUsers WHERE [userName] = @userName
  221. AND pwd = dbo.FNAEncryptString(@pwd) and ISNULL(isActive, 'N') = 'Y'
  222. AND agentCode = @agentCode)
  223. BEGIN
  224. SELECT 2 errorCode, 'Login fails, Incorrect user name or password.' mes, @userName id
  225. SET @UserInfoDetail = 'Reason = Login fails, Incorrect AgentCode.-:::-'+@UserInfoDetail
  226. EXEC proc_applicationLogs
  227. @flag='login',
  228. @logType='Login fails/certsrv',
  229. @createdBy = @userName,
  230. @Reason='Incorrect AgentCode',
  231. @UserData = @UserData,
  232. @fieldValue = @UserInfoDetail,
  233. @agentId=@agentId
  234. ,@IP = @ipAddress
  235. RETURN
  236. END
  237. IF NOT EXISTS(SELECT 'X' FROM applicationUsers WHERE [userName] = @userName
  238. AND pwd = dbo.FNAEncryptString(@pwd) and ISNULL(isActive, 'N') = 'Y'
  239. AND agentCode = @agentCode AND employeeId = @userId )
  240. BEGIN
  241. SELECT 2 errorCode, 'Login fails, Incorrect user name or password.' mes, @userName id
  242. SET @UserInfoDetail = 'Reason = Login fails, Incorrect userId.-:::-'+@UserInfoDetail
  243. EXEC proc_applicationLogs
  244. @flag='login',
  245. @logType='Login fails/certsrv',
  246. @createdBy = @userName,
  247. @Reason='Incorrect userId',
  248. @UserData = @UserData,
  249. @fieldValue = @UserInfoDetail,
  250. @agentId=@agentId
  251. ,@IP = @ipAddress
  252. RETURN
  253. END
  254. --alter table applicationUsers add dcApprovedId varchar(20), dcApprovedDate datetime
  255. SELECT
  256. errorCode = 0
  257. ,agentId = au.agentId
  258. ,agentUserId = userId
  259. ,userName = userName
  260. ,agentCode = au.agentCode
  261. ,userFullName = firstName + ISNULL(' ' + middleName, '') + ISNULL(' ' + lastName, '')
  262. ,agentName = CASE WHEN am.agentType = 2904 THEN pam.agentName ELSE LEFT(am.agentName,60) END
  263. ,branchName = LEFT(am.agentName,60)
  264. ,country = am.agentCountry
  265. ,contactNo = COALESCE(am.agentPhone1, am.agentPhone2, am.agentMobile1, am.agentMobile2)
  266. ,email = COALESCE(au.email, am.agentEmail1)
  267. ,GMT = tz.GMT
  268. ,GMTName = tz.name
  269. ,dcRequestId = au.dcApprovedId
  270. ,dcApprovedDate= au.dcApprovedDate
  271. FROM applicationUsers au WITH(NOLOCK)
  272. INNER JOIN agentMaster am WITH(NOLOCK) ON au.agentId = am.agentId
  273. INNER JOIN agentMaster pam WITH(NOLOCK) ON am.parentId = pam.agentId
  274. LEFT JOIN timeZones tz WITH(NOLOCK) ON am.localTime = tz.ROWID
  275. WHERE userName = @userName
  276. --Audit data starts
  277. EXEC proc_applicationLogs
  278. @flag='login',
  279. @logType='Login/certsrv',
  280. @createdBy = @userName,
  281. @Reason='Agent Login',
  282. @UserData = @UserData,
  283. @fieldValue = @UserInfoDetail,
  284. @agentId=@agentId
  285. ,@IP = @ipAddress
  286. --Audit data ends
  287. END
  288. IF @flag = 'i'
  289. BEGIN
  290. IF @userId IS NULL
  291. BEGIN
  292. EXEC proc_errorHandler 1, 'Mandatory Field Missing', @dcRequestId
  293. RETURN
  294. END
  295. IF EXISTS(SELECT 'X' FROM applicationUsers WHERE userName = @user
  296. AND (dcApprovedId IS NOT NULL and dcApprovedDate IS NULL))
  297. BEGIN
  298. EXEC proc_errorHandler 1, 'Your certificate request is still pending. You must wait for an administrator to issue the certificate you have requested.', @dcRequestId
  299. RETURN
  300. END
  301. IF EXISTS(SELECT 'X' FROM applicationUsers WHERE userId = @userId AND dcApprovedId IS NOT NULL AND ISNULL(isDeleted, 'N') = 'N')
  302. BEGIN
  303. EXEC proc_errorHandler 1, 'Your Digital Certificate has already been activated.', @dcRequestId
  304. RETURN
  305. END
  306. BEGIN TRANSACTION
  307. INSERT INTO certificateMaster(
  308. dcRequestId
  309. ,userId
  310. ,requestedBy
  311. ,requestedDate
  312. )
  313. SELECT
  314. @dcRequestId
  315. ,@userId
  316. ,@user
  317. ,GETDATE()
  318. SET @requestId = SCOPE_IDENTITY()
  319. update applicationUsers
  320. set dcApprovedId= @dcRequestId
  321. where userId = @userId
  322. COMMIT TRANSACTION
  323. EXEC proc_errorHandler 0, 'Record has been added successfully.', @dcRequestId
  324. END
  325. ELSE IF @flag='a'
  326. BEGIN
  327. SELECT
  328. *
  329. FROM certificateMaster where requestId = @requestId
  330. END
  331. ELSE IF @flag = 'dcClear'
  332. BEGIN
  333. SELECT
  334. @dcSerialNumber = ISNULL(dcSerialNumber, '') + '|' + dcApprovedId
  335. ,@userDcSerialNumber = dcSerialNumber
  336. ,@userDcUserName = dcUserName
  337. ,@dcRequestId = dcApprovedId
  338. FROM applicationusers WITH(NOLOCK) WHERE userId = @userId
  339. BEGIN TRAN
  340. UPDATE certificateMaster SET
  341. dcSerialNumber = @userDcSerialNumber
  342. ,dcUserName = @userDcUserName
  343. WHERE dcRequestId = @dcRequestId
  344. UPDATE applicationusers SET
  345. dcApprovedDate = NULL
  346. ,dcApprovedId = NULL
  347. ,dcSerialNumber = NULL
  348. ,dcUserName = NULL
  349. WHERE userId = @userId
  350. INSERT INTO dcClearHistory(userId, dcRequestId, dcSerialNumber, dcUserName, createdBy, createdDate)
  351. SELECT @userId, @dcRequestId, @userDcSerialNumber, @userDcUserName, @user, GETDATE()
  352. COMMIT TRAN
  353. EXEC proc_errorHandler 0, 'DC Clear Successfully.', @dcSerialNumber
  354. END
  355. ELSE IF @flag = 's'
  356. BEGIN
  357. IF @sortBy IS NULL
  358. SET @sortBy = 'requestId'
  359. IF @sortOrder IS NULL
  360. SET @sortOrder = 'ASC'
  361. SET @table = '(
  362. SELECT
  363. main.requestId
  364. ,main.dcRequestId
  365. ,main.userId
  366. ,au.userName
  367. ,userFullName = au.firstName + ISNULL('' '' + au.middleName, '''') + ISNULL('' '' + au.lastName, '''')
  368. ,country = am.agentCountry
  369. ,state = am.agentState
  370. ,district = am.agentDistrict
  371. ,address = am.agentAddress
  372. ,companyName = am.agentName
  373. ,main.requestedBy
  374. ,main.requestedDate
  375. FROM certificateMaster main WITH(NOLOCK)
  376. INNER JOIN applicationUsers au WITH(NOLOCK) ON main.userId = au.userId
  377. INNER JOIN agentMaster am WITH(NOLOCK) ON au.agentId = am.agentId
  378. WHERE main.approvedBy IS NULL
  379. ) x'
  380. SET @sql_filter = ''
  381. IF @userName IS NOT NULL
  382. SET @sql_filter = @sql_filter + ' AND ISNULL(userName, '''') LIKE ''%' + @userName + '%'''
  383. IF @companyName IS NOT NULL
  384. SET @sql_filter = @sql_filter + ' AND ISNULL(companyName, '''') LIKE ''%' + @companyName + '%'''
  385. SET @select_field_list ='
  386. requestId
  387. ,dcRequestId
  388. ,userId
  389. ,userName
  390. ,userFullName
  391. ,country
  392. ,state
  393. ,district
  394. ,address
  395. ,companyName
  396. ,requestedBy
  397. ,requestedDate
  398. '
  399. EXEC dbo.proc_paging
  400. @table
  401. ,@sql_filter
  402. ,@select_field_list
  403. ,@extra_field_list
  404. ,@sortBy
  405. ,@sortOrder
  406. ,@pageSize
  407. ,@pageNumber
  408. END
  409. ELSE IF @flag = 'dcl'
  410. BEGIN
  411. IF @sortBy IS NULL
  412. SET @sortBy = 'userId'
  413. IF @sortOrder IS NULL
  414. SET @sortOrder = 'ASC'
  415. SET @table = '(
  416. SELECT
  417. dcRequestId = au.dcApprovedId
  418. ,au.userId
  419. ,au.userName
  420. ,userFullName = au.firstName + ISNULL('' '' + au.middleName, '''') + ISNULL('' '' + au.lastName, '''')
  421. ,country = am.agentCountry
  422. ,state = am.agentState
  423. ,district = am.agentDistrict
  424. ,address = am.agentAddress
  425. ,companyName = am.agentName
  426. ,au.dcApprovedDate
  427. ,cm.approvedBy
  428. FROM applicationUsers au WITH(NOLOCK)
  429. INNER JOIN agentMaster am WITH(NOLOCK) ON au.agentId = am.agentId
  430. LEFT JOIN certificateMaster cm WITH(NOLOCK) ON au.dcApprovedId = cm.dcRequestId
  431. WHERE au.dcApprovedId IS NOT NULL
  432. ) x'
  433. SET @sql_filter = ''
  434. IF @dcRequestId IS NOT NULL
  435. SET @sql_filter = @sql_filter + ' AND dcRequestId = ''' + CAST(@dcRequestId AS VARCHAR) + ''''
  436. IF @userName IS NOT NULL
  437. SET @sql_filter = @sql_filter + ' AND ISNULL(userName, '''') LIKE ''%' + @userName + '%'''
  438. IF @companyName IS NOT NULL
  439. SET @sql_filter = @sql_filter + ' AND ISNULL(companyName, '''') LIKE ''%' + @companyName + '%'''
  440. IF @approvedFromDate IS NOT NULL AND @approvedToDate IS NOT NULL
  441. SET @sql_filter = @sql_filter + ' AND dcApprovedDate BETWEEN ''' + CONVERT(VARCHAR,@approvedFromDate,101) + ' 00:00:00'' AND ''' + CONVERT(VARCHAR,@approvedToDate,101) + ' 23:59:59'''
  442. PRINT @sql_filter
  443. SET @select_field_list ='
  444. dcRequestId
  445. ,userId
  446. ,userName
  447. ,userFullName
  448. ,country
  449. ,state
  450. ,district
  451. ,address
  452. ,companyName
  453. ,dcApprovedDate
  454. ,approvedBy
  455. '
  456. EXEC dbo.proc_paging
  457. @table
  458. ,@sql_filter
  459. ,@select_field_list
  460. ,@extra_field_list
  461. ,@sortBy
  462. ,@sortOrder
  463. ,@pageSize
  464. ,@pageNumber
  465. END
  466. ELSE IF @flag = 'reject'
  467. BEGIN
  468. SELECT @userName = requestedBy FROM certificateMaster WITH(NOLOCK) WHERE dcRequestId = @requestId
  469. /*
  470. IF NOT EXISTS (SELECT 'X' FROM applicationusers WITH(NOLOCK)
  471. WHERE dcApprovedId = @requestId AND dcApprovedDate IS NULL)
  472. BEGIN
  473. EXEC proc_errorHandler 1, '<center>Modification approval is not pending.</center>', @requestId
  474. RETURN
  475. END
  476. */
  477. UPDATE applicationusers
  478. SET dcApprovedId = null
  479. WHERE userName = @userName
  480. DELETE FROM certificateMaster WHERE dcRequestId = @requestId
  481. EXEC proc_applicationLogs
  482. @flag='dcReject',
  483. @logType='dcReject',
  484. @createdBy = @user,
  485. @Reason='DC Reject',
  486. @UserData = @requestId,
  487. @fieldValue = @UserInfoDetail,
  488. @agentId=''
  489. EXEC proc_errorHandler 0, 'Changes Rejected Successfully.', @requestId
  490. END
  491. ELSE IF @flag = 'approve'
  492. BEGIN
  493. /*
  494. EXEC proc_dcManagement @flag = 'approve',
  495. @userName = 'bajrasub123', @requestId = '61', @user='admin'
  496. */
  497. IF NOT EXISTS (SELECT 'X' FROM applicationusers WITH(NOLOCK)
  498. WHERE dcApprovedId = @requestId AND dcApprovedDate IS NULL)
  499. BEGIN
  500. EXEC proc_errorHandler 1, '<center>Modification approval is not pending.</center>', @requestId
  501. RETURN
  502. END
  503. UPDATE applicationusers
  504. set dcApprovedDate =GETDATE()
  505. WHERE dcApprovedId = @requestId
  506. --select * from certificateMaster
  507. UPDATE certificateMaster
  508. set approvedBy = @user
  509. ,approvedDate =GETDATE()
  510. WHERE dcRequestId = @requestId
  511. EXEC proc_applicationLogs
  512. @flag='dcApprove',
  513. @logType='dcApprove',
  514. @createdBy = @user,
  515. @Reason='DC Approce',
  516. @UserData = @requestId,
  517. @fieldValue = '',
  518. @agentId=''
  519. EXEC proc_errorHandler 0, 'Changes approved successfully.', @requestId
  520. END
  521. ELSE IF @flag = 'dcRemove'
  522. BEGIN
  523. SELECT
  524. @dcSerialNumber = ISNULL(dcSerialNumber, '') + '|' + dcApprovedId
  525. ,@userDcSerialNumber = dcSerialNumber
  526. ,@userDcUserName = dcUserName
  527. ,@dcRequestId = dcApprovedId
  528. FROM applicationusers WITH(NOLOCK) WHERE userId = @userId
  529. BEGIN TRAN
  530. UPDATE certificateMaster SET
  531. dcSerialNumber = @userDcSerialNumber
  532. ,dcUserName = @userDcUserName
  533. WHERE dcRequestId = @dcRequestId
  534. UPDATE applicationusers SET
  535. dcApprovedDate = NULL
  536. ,dcApprovedId = NULL
  537. ,dcSerialNumber = NULL
  538. ,dcUserName = NULL
  539. WHERE userId = @userId
  540. INSERT INTO dcClearHistory(userId, dcRequestId, dcSerialNumber, dcUserName, createdBy, createdDate)
  541. SELECT @userId, @dcRequestId, @userDcSerialNumber, @userDcUserName, @user, GETDATE()
  542. COMMIT TRAN
  543. EXEC proc_errorHandler 0, 'DC has been removed Successfully.', @dcSerialNumber
  544. END
  545. ELSE IF @flag = 'dcClear-1'
  546. BEGIN
  547. SELECT
  548. @userDcSerialNumber = dcSerialNumber
  549. ,@userDcUserName = dcUserName
  550. FROM applicationusers WITH(NOLOCK) WHERE userId = @userId
  551. BEGIN TRAN
  552. UPDATE applicationusers SET
  553. dcSerialNumber = NULL
  554. ,dcUserName = NULL
  555. WHERE userId = @userId
  556. INSERT INTO dcClearHistory(userId, dcRequestId, dcSerialNumber, dcUserName, createdBy, createdDate)
  557. SELECT @userId, @dcRequestId, @userDcSerialNumber, @userDcUserName, @user, GETDATE()
  558. COMMIT TRAN
  559. EXEC proc_errorHandler 0, 'DC has been cleared Successfully.', @dcSerialNumber
  560. END
  561. END TRY
  562. BEGIN CATCH
  563. IF @@TRANCOUNT > 0
  564. ROLLBACK TRANSACTION
  565. DECLARE @errorMessage VARCHAR(MAX)
  566. SET @errorMessage = ERROR_MESSAGE()
  567. EXEC proc_errorHandler 1, @errorMessage, @requestId
  568. END CATCH
  569. GO