ทุกวันนี้ผมก็ยังใช้ VB.NET อยู่แต่เฉพาะส่วนที่สำคัญฯฯฯ ด้วยเหตุผลหลายประการ อันนี้เป็น Rest Full Service (HTTP Web API)
Code (VB.NET)
Namespace SR_APIService02.Controllers.Sura
'<ApiController>
<Route("api/[controller]")>
Partial Public Class SuraController : Inherits ControllerBase
''' <summary>
''' Usage: https://localhost:6969/api/Sura/GetAllWarehouse
''' </summary>
''' <returns>List of (Id, Text, Remark[warehouseCN/provinceN]) From id_wherehouse/id_province (ตาราง โรงกลั่นน้ำมัน+จังหวัด)</returns>
<Route("GetAllWarehouse")>
<HttpGet>
Public Function GetAllWarehouse() As IActionResult
Dim strSQL =
<Suparuck>
Select a.wh_code, a.thai_name, b.province_name, a.ass_1 From id_warehouse a
Left Join id_province b on a.province_code = b.province_code
order by a.wh_code asc
</Suparuck>
Dim results As IList(Of Object) 'IEnumerable(Of Object) '***** สำหรับ Dapper IList(Of Object) <> IList(Of Object)()
Dim fakeList = {New With {.Id = "", .Text = "", .Remark = "", .Remark2 = ""}}.Take(0).ToList()
'SexyDatabase.ConfigDatabase(SimpleCRUD.Dialect.MySQL)
Using cn = SexyDatabase.SexyConnection()
results = cn.Query(Of Object)(strSQL.Value)
End Using
For Each r In results
Dim fields = DirectCast(r, IDictionary(Of String, Object)) 'row.Cast<IDictionary<string, object>>()
'Dim ass0 = fields("ass_1").GetType()
Dim f1 = If(Convert.IsDBNull(fields("wh_code")), "", fields("wh_code").ToString())
Dim f2 = If(Convert.IsDBNull(fields("thai_name")), "", fields("thai_name").ToString())
Dim f3 = If(Convert.IsDBNull(fields("province_name")), "", fields("province_name").ToString())
fakeList.Add(New With {.Id = f1, .Text = f2, .Remark = f1 + f2 + f3, .remark2 = f3})
Next
Return Ok(fakeList.ToList()) 'มันแปลง Property เป็นอักษรตัวเล็กทั้งหมด เช่น id, text, remark, remark2 แจ๋วว่ะเฮ้ย
End Function
End Namepace