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.

191 lines
5.3 KiB

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