Advertisement
Guest User

Untitled

a guest
Jul 23rd, 2017
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.43 KB | None | 0 0
  1. ALTER PROCEDURE [dbo].[usp_SC_AnswerMsg](
  2. @deviceIP nvarchar(20), @yearRef smallint, @year int,@mainMsg nvarchar(50),@modifier int
  3. )
  4. AS
  5. SET NOCOUNT OFF;
  6.  
  7. DECLARE @Msg nvarchar(50),@fIndex int
  8. SET @Msg = @mainMsg
  9.  
  10. SET @fIndex = CHARINDEX('$',@Msg)
  11.  
  12. DECLARE @Hex nvarchar(30)
  13. SET @Hex = SUBSTRING(@Msg,1,@fIndex - 1)
  14.  
  15. SET @Msg = RIGHT(@Msg,LEN(@Msg) - @fIndex + 1)
  16.  
  17. DECLARE @Dec nvarchar(30)
  18. SET @Dec = @Msg
  19.  
  20.  
  21. DECLARE @devID int
  22. SET @devID = (SELECT S.StationID FROM vw_Station S WHERE S.IP = @deviceIP)
  23.  
  24. DECLARE @cardID int
  25. SET @cardID = (SELECT TOP 1 ISNULL(C.CardID,0) FROM vw_Card C WHERE C.CardDec = @Dec AND C.CardHex = @Hex)
  26.  
  27. DECLARE @retTable Table(response nvarchar(30))
  28.  
  29. IF @cardID IS NULL OR @cardID = 0 BEGIN
  30. INSERT INTO @retTable
  31. SELECT 'D_0$0'
  32. SELECT * FROM @retTable
  33. RETURN 1
  34. END
  35.  
  36. DECLARE @inf bit, @cardActive bit,@ownerActive bit
  37. SET @inf = (SELECT C.InfiniteMoney FROM vw_Card C WHERE CardID = @cardID)
  38. SET @cardActive = (SELECT C.CardStatus FROM vw_Card C WHERE CardID = @cardID)
  39. SET @ownerActive = (SELECT C.IndvStatus FROM vw_Card C WHERE CardID = @cardID)
  40.  
  41. if @cardActive = 0 OR @ownerActive = 0 BEGIN
  42. INSERT INTO @retTable
  43. SELECT 'D_0$0'
  44. SELECT * FROM @retTable
  45. RETURN 1
  46. END
  47.  
  48. if @inf = 1 BEGIN
  49. INSERT INTO @retTable
  50. SELECT 'A_99999$99:99'
  51. SELECT * FROM @retTable
  52. END
  53.  
  54. DECLARE @cPrice money
  55. SET @cPrice = (SELECT S.StationPPM FROM vw_Station S WHERE S.StationID = @devID)
  56.  
  57. DECLARE @remain money
  58. DECLARE @junkTbl table (cardIDs bigint,yearx int,totalPay money,totalTicket money,totalPlay money,totalCredit money,totalRemain money)
  59. INSERT INTO @junkTbl
  60. EXEC [dbo].[usp_vw_CardTotals]
  61.  
  62. SET @remain = (SELECT j.totalRemain FROM @junkTbl j WHERE j.cardIDs = @cardID AND j.yearx = @year)
  63.  
  64. DECLARE @remainTime int
  65. SET @remainTime = (@remain / @cPrice) * 60
  66.  
  67. DECLARE @remTF nvarchar(11)
  68. DECLARE @h nvarchar(5),@m nvarchar(5)
  69. IF @remainTime > 59 BEGIN
  70.  
  71. SET @h = CONVERT(nvarchar(5),CONVERT(int, (@remainTime / 60)))
  72. IF LEN(@h) = 1 BEGIN
  73. SET @h = '0' + @h
  74. END
  75.  
  76. SET @m = CONVERT(nvarchar(5),CONVERT(int,@remainTime % 60))
  77. IF LEN(@m) = 1 BEGIN
  78. SET @m = '0' + @m
  79. END
  80. SET @remTF = @h + ':' + @m
  81. END
  82. ELSE
  83. BEGIN
  84.  
  85. SET @m = CONVERT(nvarchar(5),@remainTime)
  86. IF LEN(@m) = 1 BEGIN
  87. SET @m = '0' + @m
  88. END
  89.  
  90. SET @remTF = '00:' + @m
  91. END
  92.  
  93. DECLARE @remP nvarchar(11)
  94. IF LEN(@remain) > 0 BEGIN
  95.  
  96. SET @remP = SUBSTRING(CONVERT(nvarchar(11),@remain),1,LEN(@remain) - 3)
  97.  
  98. END
  99.  
  100. DECLARE @modd decimal(5,2)
  101. IF @modifier = 0 BEGIN
  102. SET @modd = 0
  103. END
  104. ELSE BEGIN
  105. SET @modd = (SELECT M.ModValue FROM vw_Modifier M WHERE M.ModID = @modifier)
  106. END
  107.  
  108. DECLARE @tod int
  109. SET @tod = (DATEPART(HOUR,GETDATE()) * 60) + (DATEPART(MINUTE,GETDATE()))
  110.  
  111. DECLARE @gameCost money
  112.  
  113. IF @modd = 0 BEGIN
  114. SET @gameCost = (@cPrice / 60)
  115. END
  116.  
  117. IF @modd <> 0 BEGIN
  118. SET @gameCost = @modd * (@cPrice / 60)
  119. END
  120.  
  121. INSERT INTO GameLog ([GLDate],[GLTOD],[GLDur],[GLCardRef],[GLStationRef],[GLDetail],[GLGameCost],[YearRef])
  122. SELECT GETDATE(),@tod,1,@cardID,@devID,'',@gameCost,@yearRef
  123.  
  124. IF @remain > 0 BEGIN
  125. INSERT INTO @retTable
  126. SELECT 'A_' + @remP + '$' + @remTF
  127. END
  128. ELSE BEGIN
  129. INSERT INTO @retTable
  130. SELECT 'D_' + @remP + '$' + @remTF
  131. END
  132.  
  133.  
  134.  
  135. SELECT * FROM @retTable
  136. RETURN 1
  137.  
  138. Specified cast is not valid
  139.  
  140. Dim nd As String = lastMsg.Substring(2, lastMsg.Length - 2)
  141. Dim dt As New DataTable
  142. dt = ATA.GetData(myInfo.ip, thisYear.yearID, thisYear.yearNumber, nd, ComboBox1.SelectedValue) ' <<< ERROR LINE
  143.  
  144. Dim ans As String = dt.Rows(0).Item(0)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement