2014-12-22 2 views
1

Может кто-нибудь помочь мне с этой целью function.The этой функции должно быть принимать значения из базы данных и изменять имена, какОтображения данных с помощью функции

Ввод, вывод, ручной баланс коррекция, коррекция наличности, Highroller Депозит Коррекция, снятие Highroller коррекция, игрок к Отправлять, игрок к Receive, наличные в сейфовом наличном Обналикайте отнятия, Tip Deposit, Совет Withdrawal.Original таблица в базе данных является

Id Name     IsCredit 
1 Deposit      0 
2. Withdrawal     0 
3. Manual Balance Correction 0 
4. Cash Correction    0 
5. HighRoller Correction  0 or 1 
6. Player To Player    0 or 1 
7. Cash In Cash Out    0 or 1 
15. Tip       0 or 1 

Function GetTransactionTypeName(ByVal key As Integer, ByVal isCredit As Boolean) As String 

Dim keys As Integer() = {1,2,3,4,5,6,7,15} 

Dim names As String() = {"Deposit", "Withdrawal", "Manual Balance Correction", "Cash Correction", "High Roller {0} Correction", _ 
"Player To Player {0}", "Cash In Cash Out {0}", "Tip {0}"} 

Dim indx As Integer 

For indx = 0 To Ubound(keys) 
If keys(indx) = key Then 
Exit For 
End If 
Next 

If indx >= Ubound(names) Then 
Return key 
End If 

If key=7 Or key=5 Or Key=6 or Key=15 Then 

If isCredit Then 
If key=7 Or key=5 Or key=15 
Return [String].Format(names(indx) ," Deposit") 
End If 
If key=6 
Return [String].Format(names(indx) ," Recieve") 
End If 
Else 
If key=7 Or key=5 or key=15 
Return [String].Format(names(indx) ," Withdrawal") 
End If 
If key=6 
Return [String].Format(names(indx) ," Send") 
End If 
End If 
End If 

Return names(indx) 

End Function 
+0

Пожалуйста, добавьте больше деталей на свой вопрос: Что именно должен делать код? И что он сейчас делает? Какая часть кода, по вашему мнению, может быть проблемой? И, пожалуйста, исправьте форматирование кода. – honk

ответ

1

Почему бы Вы просто используете заявление SELECT CASE?

Function GetTransactionTypeName(ByVal key As Integer, ByVal isCredit As Boolean) As String 

    Select Case key 
     Case 1 
      Return "Deposit" 
     Case 2 
      Return "Withdraval" 
     ... 
     Case 15 
      If isCredit Then 
       "Tip In" 
      Else 
       "Tip Out" 
      End If 
     Case Else 
      Return "(Unknown)" 
    End Select 

End Function 

Это гораздо легче читать и поддерживать, и поскольку у вас есть только 8 различных ключей и значений, я бы пари, что полный код будет еще короче исходного кода.

+0

, но у меня также есть значение IsCredit, поэтому я хочу иметь некоторую комбинацию типа (1,0), (2,0), (3,0), (4,0), (5,0), (5,1), (6,0), (6,1), (7,0), (7,1), (15,0) (15,1) – John

+0

Затем просто добавьте оператор If ниже оператора Case. Я обновил свой ответ на примере этого примера 15. – Dan

Смежные вопросы