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.

147 lines
12 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_manageCurrency] Script Date: 9/27/2019 1:30:14 PM ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. CREATE proc [dbo].[proc_manageCurrency]
  9. @flag VARCHAR(50) = NULL
  10. ,@user VARCHAR(30) = NULL
  11. ,@ROWID int = NULL
  12. ,@currCode VARCHAR(20) = NULL
  13. ,@currName VARCHAR(100) = NULL
  14. ,@countryId INT = NULL
  15. ,@isActive CHAR(1) = NULL
  16. ,@sortBy VARCHAR(50) = NULL
  17. ,@sortOrder VARCHAR(5) = NULL
  18. ,@pageSize INT = NULL
  19. ,@pageNumber INT = NULL
  20. AS
  21. SET NOCOUNT ON
  22. SET XACT_ABORT ON
  23. BEGIN TRY
  24. CREATE TABLE #msg(error_code INT, msg VARCHAR(100), id INT)
  25. DECLARE
  26. @sql VARCHAR(MAX)
  27. ,@oldValue VARCHAR(MAX)
  28. ,@newValue VARCHAR(MAX)
  29. ,@tableName VARCHAR(50)
  30. DECLARE
  31. @select_field_list VARCHAR(MAX)
  32. ,@extra_field_list VARCHAR(MAX)
  33. ,@table VARCHAR(MAX)
  34. ,@sql_filter VARCHAR(MAX)
  35. DECLARE
  36. @modType VARCHAR(6)
  37. IF @flag = 'i'
  38. IF EXISTS(SELECT 'A' FROM manageCurrency WHERE countryId=@countryId AND currCode=@currCode AND currName=@currName AND (isDeleted IS NULL OR isDeleted=''))
  39. BEGIN
  40. IF @@TRANCOUNT > 0
  41. ROLLBACK TRANSACTION
  42. SELECT 1 error_code, 'Record Already Added.' mes, @currName currName
  43. RETURN
  44. END
  45. ELSE
  46. BEGIN
  47. BEGIN TRANSACTION
  48. INSERT INTO manageCurrency (
  49. currCode
  50. ,currName
  51. ,countryId
  52. ,createdDate
  53. ,createdBy
  54. ,isActive
  55. )
  56. SELECT
  57. @currCode
  58. ,@currName
  59. ,@countryId
  60. ,GETDATE()
  61. ,@user
  62. ,@isActive
  63. SET @ROWID = SCOPE_IDENTITY()
  64. EXEC [dbo].proc_GetColumnToRow 'manageCurrency', 'ROWID', @ROWID, @newValue OUTPUT
  65. INSERT INTO #msg(error_code, msg, id)
  66. EXEC proc_applicationLogs 'i', NULL, 'insert', 'manageCurrency', @ROWID, @user, @oldValue, @newValue
  67. IF EXISTS (SELECT 'X' FROM #msg WHERE error_code <> 0 )
  68. BEGIN
  69. IF @@TRANCOUNT > 0
  70. ROLLBACK TRANSACTION
  71. SELECT 1 error_code, 'Record can not be updated.' mes, @ROWID id
  72. RETURN
  73. END
  74. IF @@TRANCOUNT > 0
  75. COMMIT TRANSACTION
  76. SELECT 0 error_code, 'Record has been added successfully' mes, @ROWID id
  77. END
  78. ELSE IF @flag = 'u'
  79. BEGIN
  80. BEGIN TRANSACTION
  81. EXEC [dbo].proc_GetColumnToRow 'manageCurrency', 'ROWID', @ROWID, @oldValue OUTPUT
  82. UPDATE manageCurrency SET
  83. currCode = @currCode
  84. ,currName = @currName
  85. ,countryId = @countryId
  86. ,modifiedDate = GETDATE()
  87. ,modifiedBy = @user
  88. ,isActive = @isActive
  89. WHERE ROWID = @ROWID
  90. EXEC [dbo].proc_GetColumnToRow 'manageCurrency', 'ROWID', @ROWID, @newValue OUTPUT
  91. INSERT INTO #msg(error_code, msg, id)
  92. EXEC proc_applicationLogs 'i', NULL, 'update', 'manageCurrency', @ROWID, @user, @oldValue, @newValue
  93. IF EXISTS (SELECT 'X' FROM #msg WHERE error_code <> 0 )
  94. BEGIN
  95. IF @@TRANCOUNT > 0
  96. ROLLBACK TRANSACTION
  97. SELECT 1 error_code, 'Record can not be updated.' mes, @ROWID id
  98. RETURN
  99. END
  100. IF @@TRANCOUNT > 0
  101. COMMIT TRANSACTION
  102. SELECT 0 error_code, 'Record updated successfully.' mes, @ROWID id
  103. END
  104. ELSE IF @flag = 'd'
  105. BEGIN
  106. BEGIN TRANSACTION
  107. UPDATE manageCurrency SET
  108. isDeleted = 'Y'
  109. ,modifiedBy = @user
  110. ,modifiedDate=GETDATE()
  111. WHERE ROWID = @ROWID
  112. EXEC [dbo].proc_GetColumnToRow 'manageCurrency', 'ROWID', @ROWID, @oldValue OUTPUT
  113. INSERT INTO #msg(error_code, msg, id)
  114. EXEC proc_applicationLogs 'i', NULL, 'delete', 'manageCurrency', @ROWID, @user, @oldValue, @newValue
  115. IF EXISTS (SELECT 'X' FROM #msg WHERE error_code <> 0 )
  116. BEGIN
  117. IF @@TRANCOUNT > 0
  118. ROLLBACK TRANSACTION
  119. SELECT 1 error_code, 'Record can not be deleted.' mes, @ROWID id
  120. RETURN
  121. END
  122. IF @@TRANCOUNT > 0
  123. COMMIT TRANSACTION
  124. SELECT 0 error_code, 'Record deleted successfully.' mes, @ROWID id
  125. END
  126. END TRY
  127. BEGIN CATCH
  128. IF @@TRANCOUNT > 0
  129. ROLLBACK TRANSACTION
  130. SELECT 1 error_code, ERROR_MESSAGE() mes, null id
  131. END CATCH
  132. GO