---
# System prepended metadata

title: '**投注记录排序问题**'

---

# **投注记录排序问题**

目前投注记录里面的 GetData 排序是使用 SqlQuery 呼叫 FN_Betrecord_Master function 拿出来。

会员账号参数问题
1. FN_Betrecord_Master database function 里面，已经有 Join 了 User DB。

    ![](https://i.imgur.com/DbnSOKW.png)
     
    然后在 Code 里面的 SqlQuery，有看到 Join 多一次。
     
    ![](https://i.imgur.com/vp3N9Ud.png)


2. 当资料 return 回去的时候，虽然 query 那边有 Select 了 [User].Account, 可是在 FN-Betrecord_Master_Item 里面没有 Account 的这个data.

    ![](https://i.imgur.com/JM9fnGr.png)

    ![](https://i.imgur.com/0QSyYcc.png)
    
    所以当拿到资料过后，需要自己再多拿一次 User.Account 的资料
    
    ![](https://i.imgur.com/GcW2FS0.png)



游戏类型参数问题

3. 游戏类型暂时是看到用 Database 的 RawDataType 做了 sorting, 然后才传出去转换成名字。(RawDataType是Id型)
       ![](https://i.imgur.com/QaomgkP.png)

      然后这边有做排序
       
     ![](https://i.imgur.com/LAm5Ybf.png)
 
      然后回传过去之后这边才转换去游戏类型名字
      
      ![](https://i.imgur.com/5IDGA8g.png)
      
      所以游戏类型排序那边会有一些问题
      
      ![](https://i.imgur.com/qcpnCzd.png)



- 遊戲類型排序，不是依照名稱來排，是依照這份文件的順序來排
![](https://i.imgur.com/ErDyIcq.png)


# **历史投注记录做排序遇到的问题**

1. 当需要排序“游戏类型”的时候，需要更改 DB Function “FN_BetrecordLH_V2” 加 RawDataType 进去，怕影响其他有在使用这个 DB Function 的地方。
- 我看投注紀錄，有這個排序，那他是怎麼排序的呢?  function 有接這個參數嗎?
       - 那边是使用 FN_Betrecord_Master，这个 function 里面有这个参数。
- 可以看一下這個 FN_BetrecordLH_V2 有被使用到哪裡，如果只有一個地方用，可以考慮直接修改他
       - 这个function 有在2个地方被使用到，不过两个都是在历史投注记录那个页面需要到而已，我会在 FN_BetrecordLH_V2 增加 RawDataType 进去，并测试这2个历史投注页面里会使用到这个 function 的地方确保不被受影响。
:::info

排序的行為是寫在 CasinoCashBRContext_FN.cs 

在 `FN_Betrecord_Master()` 這個方法的 802-823 行這裡進行排序。
在 `FN_Betrecord_Master_NULL()` 這個方法的 1035-1056 行這裡進行排序。

這兩個方法都取得資料後會在 BetRecordLogicForMaster.GetData() 的 127 行再進行一次排序，後面再依頁數去取得必要取得的資料。

Reply by Yuwei
:::


2. 在 SqlQuery 里面需要多 Join 一个 Table 以便拿出代理账号, 因为需要排序代理账号(投注记录页面没有拿代理账号）。
- 這個 ok