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.

217 lines
5.8 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_agentExRateMenu] Script Date: 7/4/2019 11:35:48 AM ******/
  4. DROP PROCEDURE [dbo].[proc_agentExRateMenu]
  5. GO
  6. /****** Object: StoredProcedure [dbo].[proc_agentExRateMenu] 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_agentExRateMenu]
  12. @flag VARCHAR(50)
  13. ,@user VARCHAR(50) = NULL
  14. ,@rowId INT = NULL
  15. ,@countryId INT = NULL
  16. ,@agentId INT = NULL
  17. ,@menuId INT = NULL
  18. ,@countryName VARCHAR(100) = NULL
  19. ,@agentName VARCHAR(100) = NULL
  20. ,@sortBy VARCHAR(50) = NULL
  21. ,@sortOrder VARCHAR(5) = NULL
  22. ,@pageSize INT = NULL
  23. ,@pageNumber INT = NULL
  24. AS
  25. SET NOCOUNT ON
  26. SET XACT_ABORT ON
  27. BEGIN TRY
  28. CREATE TABLE #msg(errorCode INT, msg VARCHAR(100), id INT)
  29. DECLARE
  30. @sql VARCHAR(MAX)
  31. ,@oldValue VARCHAR(MAX)
  32. ,@newValue VARCHAR(MAX)
  33. ,@module VARCHAR(10)
  34. ,@tableAlias VARCHAR(100)
  35. ,@logIdentifier VARCHAR(50)
  36. ,@logParamMod VARCHAR(100)
  37. ,@logParamMain VARCHAR(100)
  38. ,@table VARCHAR(MAX)
  39. ,@select_field_list VARCHAR(MAX)
  40. ,@extra_field_list VARCHAR(MAX)
  41. ,@sql_filter VARCHAR(MAX)
  42. ,@modType VARCHAR(6)
  43. SELECT
  44. @logIdentifier = 'rowId'
  45. ,@logParamMain = 'agentExRateMenu'
  46. ,@logParamMod = 'agentExRateMenuMod'
  47. ,@module = '20'
  48. ,@tableAlias = 'Agent Exchange Rate Menu'
  49. IF @flag IN ('i')
  50. BEGIN
  51. IF EXISTS(SELECT 'X' FROM agentExRateMenu WITH(NOLOCK) WHERE countryId = @countryId AND ISNULL(agentId, 0) = ISNULL(@agentId, 0))
  52. BEGIN
  53. EXEC proc_errorHandler 1, 'Menu already assigned for this setting', NULL
  54. RETURN
  55. END
  56. BEGIN TRANSACTION
  57. INSERT INTO agentExRateMenu (
  58. countryId
  59. ,agentId
  60. ,menuId
  61. ,createdBy
  62. ,createdDate
  63. )
  64. SELECT
  65. @countryId
  66. ,@agentId
  67. ,@menuId
  68. ,@user
  69. ,GETDATE()
  70. SET @rowId = SCOPE_IDENTITY()
  71. SET @modType = 'Insert'
  72. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @rowId , @newValue OUTPUT
  73. INSERT INTO #msg(errorCode, msg, id)
  74. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @rowId, @user, @oldValue, @newValue
  75. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  76. BEGIN
  77. IF @@TRANCOUNT > 0
  78. ROLLBACK TRANSACTION
  79. EXEC proc_errorHandler 1, 'Failed to add new record.', @rowId
  80. RETURN
  81. END
  82. IF @@TRANCOUNT > 0
  83. COMMIT TRANSACTION
  84. EXEC proc_errorHandler 0, 'Record has been added successfully.', @rowId
  85. END
  86. ELSE IF @flag = 'u'
  87. BEGIN
  88. IF EXISTS(SELECT 'X' FROM agentExRateMenu WITH(NOLOCK) WHERE rowId <> @rowId AND countryId = @countryId AND ISNULL(agentId, 0) = ISNULL(@agentId, 0))
  89. BEGIN
  90. EXEC proc_errorHandler 1, 'Menu already assigned for this setting', NULL
  91. RETURN
  92. END
  93. BEGIN TRANSACTION
  94. UPDATE agentExRateMenu SET
  95. countryId = @countryId
  96. ,agentId = @agentId
  97. ,menuId = @menuId
  98. ,modifiedBy = @user
  99. ,modifiedDate = GETDATE()
  100. WHERE rowId = @rowId
  101. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @rowId, @newValue OUTPUT
  102. INSERT INTO #msg(errorCode, msg, id)
  103. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @rowId, @user, @oldValue, @newValue
  104. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  105. BEGIN
  106. IF @@TRANCOUNT > 0
  107. ROLLBACK TRANSACTION
  108. EXEC proc_errorHandler 1, 'Failed to update record.', @rowId
  109. RETURN
  110. END
  111. IF @@TRANCOUNT > 0
  112. COMMIT TRANSACTION
  113. EXEC proc_errorHandler 0, 'Record updated successfully.', @rowId
  114. END
  115. ELSE IF @flag = 'd'
  116. BEGIN
  117. BEGIN TRANSACTION
  118. SET @modType = 'Delete'
  119. EXEC [dbo].proc_GetColumnToRow @logParamMain, @logIdentifier, @rowId, @oldValue OUTPUT
  120. INSERT INTO #msg(errorCode, msg, id)
  121. EXEC proc_applicationLogs 'i', NULL, @modType, @tableAlias, @rowId, @user, @oldValue, @newValue
  122. IF EXISTS (SELECT 'x' FROM #msg WHERE errorCode <> '0')
  123. BEGIN
  124. IF @@TRANCOUNT > 0
  125. ROLLBACK TRANSACTION
  126. EXEC proc_errorHandler 1, 'Failed to delete record.', @rowId
  127. RETURN
  128. END
  129. DELETE FROM agentExRateMenu WHERE rowId = @rowId
  130. IF @@TRANCOUNT > 0
  131. COMMIT TRANSACTION
  132. EXEC proc_errorHandler 0, 'Record deleted successfully.', @rowId
  133. END
  134. ELSE IF @flag = 'a'
  135. BEGIN
  136. --SELECT * FROM agentExRateMenu
  137. SELECT * FROM agentExRateMenu WITH(NOLOCK) WHERE rowId = @rowId
  138. END
  139. ELSE IF @flag IN ('s')
  140. BEGIN
  141. IF @sortBy IS NULL
  142. SET @sortBy = 'rowId'
  143. IF @sortOrder IS NULL
  144. SET @sortOrder = 'ASC'
  145. SET @table = '(
  146. SELECT
  147. main.rowId
  148. ,main.countryId
  149. ,countryName = cm.countryName
  150. ,main.agentId
  151. ,agentName = ISNULL(am.agentName, ''All'')
  152. ,main.menuId
  153. ,menuName = sdv.detailTitle
  154. ,modifiedBy = ISNULL(main.modifiedBy, main.createdBy)
  155. ,modifiedDate = ISNULL(main.modifiedDate, main.createdDate)
  156. FROM agentExRateMenu main WITH(NOLOCK)
  157. LEFT JOIN countryMaster cm WITH(NOLOCK) ON main.countryId = cm.countryId
  158. LEFT JOIN agentMaster am WITH(NOLOCK) ON main.agentId = am.agentId
  159. LEFT JOIN staticDataValue sdv WITH(NOLOCK) ON main.menuId = sdv.valueId
  160. WHERE 1 = 1
  161. ) x'
  162. SET @sql_filter = ''
  163. IF @countryName IS NOT NULL
  164. SET @sql_filter = @sql_filter + ' AND countryName LIKE ''%' + @countryName + '%'''
  165. IF @agentName IS NOT NULL
  166. SET @sql_filter = @sql_filter + ' AND agentName LIKE ''%' + @agentName + '%'''
  167. SET @select_field_list ='
  168. rowId
  169. ,countryId
  170. ,countryName
  171. ,agentId
  172. ,agentName
  173. ,menuId
  174. ,menuName
  175. ,modifiedBy
  176. ,modifiedDate
  177. '
  178. EXEC dbo.proc_paging
  179. @table
  180. ,@sql_filter
  181. ,@select_field_list
  182. ,@extra_field_list
  183. ,@sortBy
  184. ,@sortOrder
  185. ,@pageSize
  186. ,@pageNumber
  187. END
  188. END TRY
  189. BEGIN CATCH
  190. IF @@TRANCOUNT > 0
  191. ROLLBACK TRANSACTION
  192. DECLARE @errorMessage VARCHAR(MAX)
  193. SET @errorMessage = ERROR_MESSAGE()
  194. EXEC proc_errorHandler 1, @errorMessage, @rowId
  195. END CATCH