Originally posted by Camper
View Post
Using .layamount and .backamount
Public tblMarketTableAdapter As New DataBetfairDataSetTableAdapters.tblMarketsTableAdapter()
tblMarketTableAdapter.Insert(.........)

Private Sub bSqlConnect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bSqlConnect.Click
sqlComm.Connection = sqlConn 'Connection string and command string set as public in Unpack module
sqlConn.Close()
sqlConn.Open()
' Set Dataset and datatable
Dim dsBetfair As DataSet = New DataSet("MarketDetails")
Dim dtMarkets As DataTable = dsBetfair.Tables.Add("Markets")
Try
With dtMarkets.Columns
.Add("MarketID", GetType(System.String))
.Add("MarketName", GetType(System.String))
.Add("MarketType", GetType(System.String))
.Add("MarketStatus", GetType(System.String))
.Add("EventDate", GetType(System.DateTime))
.Add("MenuPath", GetType(System.String))
.Add("EventHierachy", GetType(System.String))
.Add("BetDelay", GetType(System.String))
.Add("ExchangeID", GetType(System.String))
.Add("ISO3CountryCode", GetType(System.String))
.Add("LastRefresh", GetType(System.DateTime))
.Add("NoRunners", GetType(System.String))
.Add("NoWinners", GetType(System.String))
.Add("TtlAmountMatched", GetType(System.Double))
.Add("BspMarket", GetType(System.Boolean))
.Add("TurningInPlay", GetType(System.Boolean))
End With
Print("*** Data to SQL ***")
Dim oMarketsReq As New BFUK.GetAllMarketsReq
Dim oMarketsResp As BFUK.GetAllMarketsResp
Dim matchdata(15) As Object
With oMarketsReq
.header = oHeaderUK()
ReDim .eventTypeIds(0) : .eventTypeIds(0) = 7 'For Horse Racing
ReDim .countries(1) : .countries(0) = "GBR" : .countries(1) = "ZAF"
.fromDate = Today.AddDays(0)
.toDate = Today.AddDays(1)
End With
oMarketsResp = BetFairUK.getAllMarkets(oMarketsReq) 'Call the UK API
With oMarketsResp
Checkheader(.header)
Print("ErrorCode = " & .errorCode.ToString)
If .errorCode = BFUK.GetAllMarketsErrorEnum.OK Then
Dim AllMarkets As New UnpackAllMarkets(.marketData)
With AllMarkets
For i = 0 To .marketData.Length - 1
With .marketData(i)
matchdata(0) = .marketId
matchdata(1) = .marketName
matchdata(2) = .marketType
matchdata(3) = .marketStatus
matchdata(4) = .eventDate.ToLocalTime
matchdata(5) = .menuPath
matchdata(6) = .eventHeirachy
matchdata(7) = .betDelay
matchdata(8) = .exchangeId
matchdata(9) = .countryCode
matchdata(10) = .lastRefresh
matchdata(11) = .noOfRunners
matchdata(12) = .noOfWinners
matchdata(13) = .totalAmountMatched
matchdata(14) = .bspMarket
matchdata(15) = .turningInPlay
dtMarkets.Rows.Add(matchdata)
Dim fillQueryString As String = _
"SELECT marketId, marketName, marketType, marketStatus, eventDate, menuPath, eventHierachy, betDelay, exchangeId," & _
"iso3CountryCode, lastRefresh, noOfRunners, noOfWinners, totalAmountMatched, bspMarket, turningInPlay FROM dbo.tblMarkets"
Dim adapter As SqlClient.SqlDataAdapter = New SqlClient.SqlDataAdapter(fillQueryString, sqlConn)
adapter.Fill(dsBetfair, "tblMarkets")
End With
Next
End With
End If
End With
Catch ex As Exception
MessageBox.Show("Failed to connect to data source")
sqlConn.Close()
End Try
End Sub
Dim backgreen, laygreen, difference, sizeG, greened As Decimal
Dim bettypeG, selectionG As Integer '0 Bak, 1 Lay
Private Sub GreenStatus_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GreenStatus.Tick
If Val(aB0.Text) < Val(bB0.Text) Then 'Favorito A
selectionG = id0
backgreen = CDec(Val(aB0.Text))
laygreen = CDec(Val(aL0.Text))
difference = CDec(profitA - profitB)
If laygreen > 0 Then
If difference > 0 Then
bettypeG = 1
sizeG = CDec(FormatNumber(difference / laygreen, 2))
greened = CDec(profitA - sizeG * (laygreen - 1))
End If
If difference < 0 Then
bettypeG = 0
sizeG = CDec(FormatNumber(difference / backgreen, 2))
greened = CDec(profitA + sizeG * (backgreen - 1))
End If
End If
Else 'Favorito B
selectionG = id1
backgreen = CDec(Val(bB0.Text))
laygreen = CDec(Val(bL0.Text))
difference = CDec(profitB - profitA)
If laygreen > 0 Then
If difference > 0 Then
bettypeG = 1
sizeG = CDec(FormatNumber(difference / laygreen, 2))
greened = CDec(profitB - sizeG * (laygreen - 1))
End If
If difference < 0 Then
bettypeG = 0
sizeG = CDec(FormatNumber(difference / backgreen, 2))
greened = CDec(profitB + sizeG * (backgreen - 1))
End If
End If
End If
If greened < 0 Then
Panel3.BackColor = Color.Red
Else
Panel3.BackColor = Color.LightGreen
End If
Label18.Text = CStr(FormatNumber(greened, 2))
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If bettypeG = 0 Then
prc = laygreen
sid = selectionG
sz = sizeG
PlaceLet(markid, sid, BFUK.BetTypeEnum.L, prc, sz)
End If
If bettypeG = 1 Then
prc = backgreen
sid = selectionG
sz = sizeG
PlaceBet(markid, sid, BFUK.BetTypeEnum.B, prc, sz)
End If
End Sub
don't know what I'm missing here. If .delay > 0 Then
inplay()
Else
inplay0()
End If

If .delay > 0 Then
inplay()
Else
inplay0()
End If
Private Sub BetFairUK_getMarketPricesCompressedCompleted(ByVal sender As Object, ByVal e As BFUK.getMarketPricesCompressedCompletedEventArgs) Handles BetFairUK.getMarketPricesCompressedCompleted
Dim tot1, tot2 As Double
id0 = CInt(Val(bSelecid.Text))
id1 = CInt(Val(bSelectid1.Text))
Try
If Not e.Cancelled Then
With e.Result
CheckHeader(.header)
If .errorCode = BFUK.GetMarketPricesErrorEnum.OK Then
Dim oMarketPrices As New UnpackMarketPricesCompressed(.marketPrices)
With oMarketPrices
If .delay > 0 Then
inplay()
Else
inplay0()
End If
For i = 0 To .runnerPrices.Length - 1
With .runnerPrices(i)
If .selectionId = id0 Then
tot1 = CDbl(FormatNumber(.totalAmountMatched, 0))
If .bestPricesToBack.Length > 0 Then
Dim graphvalue As Double
graphvalue = .bestPricesToBack(0).price
aB0.Text = Replace(CStr(.bestPricesToBack(0).price), ",", ".")
aBA0.Text = CStr(Int(.bestPricesToBack(0).amountAvailable))
pgraph0.Add(graphvalue)
Else
aB0.Text = "Offer"
aBA0.Text = ""
End If
If .bestPricesToBack.Length > 1 Then
aB1.Text = Replace(CStr(.bestPricesToBack(1).price), ",", ".")
aBA1.Text = CStr(Int(.bestPricesToBack(1).amountAvailable))
Else
aB1.Text = ""
aBA1.Text = ""
End If
If .bestPricesToBack.Length > 2 Then
aB2.Text = Replace(CStr(.bestPricesToBack(2).price), ",", ".")
aBA2.Text = CStr(Int(.bestPricesToBack(2).amountAvailable))
Else
aB2.Text = ""
aBA2.Text = ""
End If
If .bestPricesToLay.Length > 0 Then
Dim graphvalue As Double
graphvalue = .bestPricesToLay(0).price
aL0.Text = Replace(CStr(.bestPricesToLay(0).price), ",", ".")
aLA0.Text = CStr(Int(.bestPricesToLay(0).amountAvailable))
prgraph2.Add(graphvalue)
Else
aL0.Text = ""
aLA0.Text = ""
End If
If .bestPricesToLay.Length > 1 Then
aL1.Text = Replace(CStr(.bestPricesToLay(1).price), ",", ".")
aLA1.Text = CStr(Int(.bestPricesToLay(1).amountAvailable))
Else
aL1.Text = ""
aLA1.Text = ""
End If
If .bestPricesToLay.Length > 2 Then
aL2.Text = Replace(CStr(.bestPricesToLay(2).price), ",", ".")
aLA2.Text = CStr(Int(.bestPricesToLay(2).amountAvailable))
Else
aL2.Text = ""
aLA2.Text = ""
End If
End If
If .selectionId = id1 Then
tot2 = CDbl(FormatNumber(.totalAmountMatched, 0))
If .bestPricesToBack.Length > 0 Then
Dim graphvalue As Double
graphvalue = .bestPricesToBack(0).price
bB0.Text = Replace(CStr(.bestPricesToBack(0).price), ",", ".")
bBA0.Text = CStr(Int(.bestPricesToBack(0).amountAvailable))
pgraph1.Add(graphvalue)
Else
bB0.Text = "Offer"
bBA0.Text = ""
End If
If .bestPricesToBack.Length > 1 Then
bB1.Text = Replace(CStr(.bestPricesToBack(1).price), ",", ".")
bBA1.Text = CStr(Int(.bestPricesToBack(1).amountAvailable))
Else
bB1.Text = ""
bBA1.Text = ""
End If
If .bestPricesToBack.Length > 2 Then
bB2.Text = Replace(CStr(.bestPricesToBack(2).price), ",", ".")
bBA2.Text = CStr(Int(.bestPricesToBack(2).amountAvailable))
Else
bB2.Text = ""
bBA2.Text = ""
End If
If .bestPricesToLay.Length > 0 Then
Dim graphvalue As Double
graphvalue = .bestPricesToLay(0).price
bL0.Text = Replace(CStr(.bestPricesToLay(0).price), ",", ".")
bLA0.Text = CStr(Int(.bestPricesToLay(0).amountAvailable))
prgraph3.Add(graphvalue)
Else
bL0.Text = ""
bLA0.Text = ""
End If
If .bestPricesToLay.Length > 1 Then
bL1.Text = Replace(CStr(.bestPricesToLay(1).price), ",", ".")
bLA1.Text = CStr(Int(.bestPricesToLay(1).amountAvailable))
Else
bL1.Text = ""
bLA1.Text = ""
End If
If .bestPricesToLay.Length > 2 Then
bL2.Text = Replace(CStr(.bestPricesToLay(2).price), ",", ".")
bLA2.Text = CStr(Int(.bestPricesToLay(2).amountAvailable))
Else
bL2.Text = ""
bLA2.Text = ""
End If
End If
Dim x As String
x = FLogin.bCurrency.Text
If x = "Euro" Then
HeaderTM.Text = ("Total Matched:" & " " & tot1 + tot2 & " €")
Else
HeaderTM.Text = ("Total Matched:" & " " & tot1 + tot2 & " £")
End If
End With
Next
End With
End If
End With
End If
Catch ex As ApplicationException
End Try
End Sub
Leave a comment: