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.

120 lines
7.9 KiB

1 year ago
  1. USE [FastMoneyPro_Remit]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[proc_CurrencyRule] 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_CurrencyRule]
  9. @flag VARCHAR(50) = NULL
  10. ,@user VARCHAR(30) = NULL
  11. ,@ROWID Int = NULL
  12. ,@ruleId VARCHAR(20) = NULL
  13. ,@ruleName VARCHAR(30) = NULL
  14. ,@currCode VARCHAR(30) = NULL
  15. ,@countryId INT = NULL
  16. ,@isActive CHAR(1) = NULL
  17. AS
  18. SET NOCOUNT ON
  19. SET XACT_ABORT ON
  20. BEGIN TRY
  21. CREATE TABLE #msg(error_code INT, msg VARCHAR(100), id INT)
  22. DECLARE
  23. @sql VARCHAR(MAX)
  24. ,@oldValue VARCHAR(MAX)
  25. ,@newValue VARCHAR(MAX)
  26. ,@tableName VARCHAR(50)
  27. DECLARE
  28. @select_field_list VARCHAR(MAX)
  29. ,@extra_field_list VARCHAR(MAX)
  30. ,@table VARCHAR(MAX)
  31. ,@sql_filter VARCHAR(MAX)
  32. DECLARE
  33. @modType VARCHAR(6)
  34. IF @flag = 'i'
  35. IF EXISTS(SELECT 'A' FROM CurrencyRule WHERE countryId=@countryId AND ruleId=@ruleId AND (isDeleted IS NULL OR isDeleted=''))
  36. BEGIN
  37. IF @@TRANCOUNT > 0
  38. ROLLBACK TRANSACTION
  39. SELECT 1 error_code, 'Record Already Added.' mes, @ruleId ruleId
  40. RETURN
  41. END
  42. ELSE
  43. BEGIN
  44. BEGIN TRANSACTION
  45. INSERT INTO CurrencyRule (
  46. ruleId
  47. ,ruleName
  48. ,countryId
  49. ,currCode
  50. ,createdDate
  51. ,createdBy
  52. ,isActive
  53. )
  54. SELECT
  55. @ruleId
  56. ,@ruleName
  57. ,@countryId
  58. ,@currCode
  59. ,GETDATE()
  60. ,@user
  61. ,@isActive
  62. SET @ROWID = SCOPE_IDENTITY()
  63. EXEC [dbo].proc_GetColumnToRow 'CurrencyRule', 'ROWID', @ROWID, @newValue OUTPUT
  64. INSERT INTO #msg(error_code, msg, id)
  65. EXEC proc_applicationLogs 'i', NULL, 'insert', 'CurrencyRule', @ROWID, @user, @oldValue, @newValue
  66. IF EXISTS (SELECT 'X' FROM #msg WHERE error_code <> 0 )
  67. BEGIN
  68. IF @@TRANCOUNT > 0
  69. ROLLBACK TRANSACTION
  70. SELECT 1 error_code, 'Record can not be updated.' mes, @ROWID id
  71. RETURN
  72. END
  73. IF @@TRANCOUNT > 0
  74. COMMIT TRANSACTION
  75. SELECT 0 error_code, 'Record has been added successfully' mes, @ROWID id
  76. END
  77. ELSE IF @flag = 'd'
  78. BEGIN
  79. BEGIN TRANSACTION
  80. UPDATE CurrencyRule SET
  81. isDeleted = 'Y'
  82. ,modifiedBy = @user
  83. ,modifiedDate=GETDATE()
  84. WHERE ROWID = @ROWID
  85. EXEC [dbo].proc_GetColumnToRow 'CurrencyRule', 'ROWID', @ROWID, @oldValue OUTPUT
  86. INSERT INTO #msg(error_code, msg, id)
  87. EXEC proc_applicationLogs 'i', NULL, 'delete', 'CurrencyRule', @ROWID, @user, @oldValue, @newValue
  88. IF EXISTS (SELECT 'X' FROM #msg WHERE error_code <> 0 )
  89. BEGIN
  90. IF @@TRANCOUNT > 0
  91. ROLLBACK TRANSACTION
  92. SELECT 1 error_code, 'Record can not be deleted.' mes, @ROWID id
  93. RETURN
  94. END
  95. IF @@TRANCOUNT > 0
  96. COMMIT TRANSACTION
  97. SELECT 0 error_code, 'Record deleted successfully.' mes, @ROWID id
  98. END
  99. END TRY
  100. BEGIN CATCH
  101. IF @@TRANCOUNT > 0
  102. ROLLBACK TRANSACTION
  103. SELECT 1 error_code, ERROR_MESSAGE() mes, null id
  104. END CATCH
  105. GO