Skip to content

Commit 6c6c0a7

Browse files
Release v3.3.0
1 parent 705691c commit 6c6c0a7

File tree

79 files changed

+5560
-51
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

79 files changed

+5560
-51
lines changed

CHANGELOG.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,11 @@
11
# Change Log
22

3-
## 3.2.0
3+
## 3.3.0
4+
- Added Lugas property to sport event fixture references (implemented in the IReferenceV1 interface). It is currently in preview mode until supported by the UF API.
5+
- Start and end times of seasons with start_time and end_time attributes are now correctly calculated as UTC date-time values.
6+
7+
8+
## 2025-04-07 3.2.0
49
- All outgoing HTTP requests include the trace-id header with a unique value for improved tracing
510
- Recovery requests configuration is respected for all recovery requests
611

docs/index.json

Lines changed: 6 additions & 1 deletion
Large diffs are not rendered by default.

docs/manifest.json

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4013,6 +4013,20 @@
40134013
"Title": "Sportradar.OddsFeed.SDK.Entities.Rest.IReference",
40144014
"Summary": "<p sourcefile=\"sdkapi/Sportradar.OddsFeed.SDK.Entities.Rest.IReference.yml\" sourcestartlinenumber=\"1\">A contract for classes implementing array a+of references</p>\n"
40154015
},
4016+
{
4017+
"type": "ManagedReference",
4018+
"source_relative_path": "sdkapi/Sportradar.OddsFeed.SDK.Entities.Rest.IReferenceV1.yml",
4019+
"output": {
4020+
".html": {
4021+
"relative_path": "sdkapi/Sportradar.OddsFeed.SDK.Entities.Rest.IReferenceV1.html"
4022+
}
4023+
},
4024+
"version": "",
4025+
"Uid": null,
4026+
"IsMRef": true,
4027+
"Title": "Sportradar.OddsFeed.SDK.Entities.Rest.IReferenceV1",
4028+
"Summary": "<p sourcefile=\"sdkapi/Sportradar.OddsFeed.SDK.Entities.Rest.IReferenceV1.yml\" sourcestartlinenumber=\"1\">A contract for classes implementing array a+of references</p>\n"
4029+
},
40164030
{
40174031
"type": "ManagedReference",
40184032
"source_relative_path": "sdkapi/Sportradar.OddsFeed.SDK.Entities.Rest.IRestMessage.yml",
Lines changed: 209 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,209 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta charset="utf-8">
5+
<title>Interface IReferenceV1 | Sportradar.OddsFeed.SDK </title>
6+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
7+
<meta name="title" content="Interface IReferenceV1 | Sportradar.OddsFeed.SDK ">
8+
9+
<meta name="description" content="A contract for classes implementing array a+of references">
10+
<link rel="icon" href="../images/favicon.ico">
11+
<link rel="stylesheet" href="../public/docfx.min.css">
12+
<link rel="stylesheet" href="../public/main.css">
13+
<meta name="docfx:navrel" content="../toc.html">
14+
<meta name="docfx:tocrel" content="toc.html">
15+
16+
<meta name="docfx:rel" content="../">
17+
18+
19+
20+
<meta name="loc:inThisArticle" content="In this article">
21+
<meta name="loc:searchResultsCount" content="{count} results for &quot;{query}&quot;">
22+
<meta name="loc:searchNoResults" content="No results for &quot;{query}&quot;">
23+
<meta name="loc:tocFilter" content="Filter by title">
24+
<meta name="loc:nextArticle" content="Next">
25+
<meta name="loc:prevArticle" content="Previous">
26+
<meta name="loc:themeLight" content="Light">
27+
<meta name="loc:themeDark" content="Dark">
28+
<meta name="loc:themeAuto" content="Auto">
29+
<meta name="loc:changeTheme" content="Change theme">
30+
<meta name="loc:copy" content="Copy">
31+
<meta name="loc:downloadPdf" content="Download PDF">
32+
33+
<script type="module" src="./../public/docfx.min.js"></script>
34+
35+
<script>
36+
const theme = localStorage.getItem('theme') || 'auto'
37+
document.documentElement.setAttribute('data-bs-theme', theme === 'auto' ? (window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light') : theme)
38+
</script>
39+
40+
</head>
41+
42+
<body class="tex2jax_ignore" data-layout="" data-yaml-mime="ManagedReference">
43+
<header class="bg-body border-bottom">
44+
<nav id="autocollapse" class="navbar navbar-expand-md" role="navigation">
45+
<div class="container-xxl flex-nowrap">
46+
<a class="navbar-brand" href="../index.html">
47+
<img id="logo" class="svg" src="../images/uf-ns-h60.png" alt="Sportradar.OddsFeed.SDK">
48+
Sportradar.OddsFeed.SDK
49+
</a>
50+
<button class="btn btn-lg d-md-none border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navpanel" aria-controls="navpanel" aria-expanded="false" aria-label="Toggle navigation">
51+
<i class="bi bi-three-dots"></i>
52+
</button>
53+
<div class="collapse navbar-collapse" id="navpanel">
54+
<div id="navbar">
55+
<form class="search" role="search" id="search">
56+
<i class="bi bi-search"></i>
57+
<input class="form-control" id="search-query" type="search" disabled placeholder="Search" autocomplete="off" aria-label="Search">
58+
</form>
59+
</div>
60+
</div>
61+
</div>
62+
</nav>
63+
</header>
64+
65+
<main class="container-xxl">
66+
<div class="toc-offcanvas">
67+
<div class="offcanvas-md offcanvas-start" tabindex="-1" id="tocOffcanvas" aria-labelledby="tocOffcanvasLabel">
68+
<div class="offcanvas-header">
69+
<h5 class="offcanvas-title" id="tocOffcanvasLabel">Table of Contents</h5>
70+
<button type="button" class="btn-close" data-bs-dismiss="offcanvas" data-bs-target="#tocOffcanvas" aria-label="Close"></button>
71+
</div>
72+
<div class="offcanvas-body">
73+
<nav class="toc" id="toc"></nav>
74+
</div>
75+
</div>
76+
</div>
77+
78+
<div class="content">
79+
<div class="actionbar">
80+
<button class="btn btn-lg border-0 d-md-none" type="button" data-bs-toggle="offcanvas" data-bs-target="#tocOffcanvas" aria-controls="tocOffcanvas" aria-expanded="false" aria-label="Show table of contents">
81+
<i class="bi bi-list"></i>
82+
</button>
83+
84+
<nav id="breadcrumb"></nav>
85+
</div>
86+
87+
<article data-uid="Sportradar.OddsFeed.SDK.Entities.Rest.IReferenceV1">
88+
89+
90+
91+
<h1 id="Sportradar_OddsFeed_SDK_Entities_Rest_IReferenceV1" data-uid="Sportradar.OddsFeed.SDK.Entities.Rest.IReferenceV1" class="text-break">
92+
Interface IReferenceV1
93+
</h1>
94+
95+
<div class="facts text-secondary">
96+
<dl><dt>Namespace</dt><dd><a class="xref" href="Sportradar.html">Sportradar</a>.<a class="xref" href="Sportradar.OddsFeed.html">OddsFeed</a>.<a class="xref" href="Sportradar.OddsFeed.SDK.html">SDK</a>.<a class="xref" href="Sportradar.OddsFeed.SDK.Entities.html">Entities</a>.<a class="xref" href="Sportradar.OddsFeed.SDK.Entities.Rest.html">Rest</a></dd></dl>
97+
<dl><dt>Assembly</dt><dd>Sportradar.OddsFeed.SDK.dll</dd></dl>
98+
</div>
99+
100+
<div class="markdown summary"><p>A contract for classes implementing array a+of references</p>
101+
</div>
102+
<div class="markdown conceptual"></div>
103+
104+
<div class="codewrapper">
105+
<pre><code class="lang-csharp hljs">public interface IReferenceV1 : IReference, IEntityPrinter</code></pre>
106+
</div>
107+
108+
109+
110+
111+
112+
113+
114+
<dl class="typelist inheritedMembers">
115+
<dt>Inherited Members</dt>
116+
<dd>
117+
<div>
118+
<a class="xref" href="Sportradar.OddsFeed.SDK.Entities.Rest.IReference.html#Sportradar_OddsFeed_SDK_Entities_Rest_IReference_BetradarId">IReference.BetradarId</a>
119+
</div>
120+
<div>
121+
<a class="xref" href="Sportradar.OddsFeed.SDK.Entities.Rest.IReference.html#Sportradar_OddsFeed_SDK_Entities_Rest_IReference_BetfairId">IReference.BetfairId</a>
122+
</div>
123+
<div>
124+
<a class="xref" href="Sportradar.OddsFeed.SDK.Entities.Rest.IReference.html#Sportradar_OddsFeed_SDK_Entities_Rest_IReference_RotationNumber">IReference.RotationNumber</a>
125+
</div>
126+
<div>
127+
<a class="xref" href="Sportradar.OddsFeed.SDK.Entities.Rest.IReference.html#Sportradar_OddsFeed_SDK_Entities_Rest_IReference_References">IReference.References</a>
128+
</div>
129+
<div>
130+
<a class="xref" href="Sportradar.OddsFeed.SDK.Entities.Rest.IReference.html#Sportradar_OddsFeed_SDK_Entities_Rest_IReference_AamsId">IReference.AamsId</a>
131+
</div>
132+
<div>
133+
<a class="xref" href="Sportradar.OddsFeed.SDK.Entities.Rest.IEntityPrinter.html#Sportradar_OddsFeed_SDK_Entities_Rest_IEntityPrinter_ToString">IEntityPrinter.ToString()</a>
134+
</div>
135+
<div>
136+
<a class="xref" href="Sportradar.OddsFeed.SDK.Entities.Rest.IEntityPrinter.html#Sportradar_OddsFeed_SDK_Entities_Rest_IEntityPrinter_ToString_System_IFormatProvider_">IEntityPrinter.ToString(IFormatProvider)</a>
137+
</div>
138+
<div>
139+
<a class="xref" href="Sportradar.OddsFeed.SDK.Entities.Rest.IEntityPrinter.html#Sportradar_OddsFeed_SDK_Entities_Rest_IEntityPrinter_ToString_System_String_System_IFormatProvider_">IEntityPrinter.ToString(string, IFormatProvider)</a>
140+
</div>
141+
</dd></dl>
142+
143+
144+
145+
146+
147+
148+
<h2 class="section" id="properties">Properties
149+
</h2>
150+
151+
152+
<a id="Sportradar_OddsFeed_SDK_Entities_Rest_IReferenceV1_LugasId_" data-uid="Sportradar.OddsFeed.SDK.Entities.Rest.IReferenceV1.LugasId*"></a>
153+
154+
<h3 id="Sportradar_OddsFeed_SDK_Entities_Rest_IReferenceV1_LugasId" data-uid="Sportradar.OddsFeed.SDK.Entities.Rest.IReferenceV1.LugasId">
155+
LugasId
156+
157+
</h3>
158+
159+
<div class="markdown level1 summary"><p>Returns the Lugas id for this instance if provided among reference ids, null otherwise</p>
160+
</div>
161+
<div class="markdown level1 conceptual"></div>
162+
163+
<div class="codewrapper">
164+
<pre><code class="lang-csharp hljs">string LugasId { get; }</code></pre>
165+
</div>
166+
167+
168+
169+
170+
171+
<h4 class="section">Property Value</h4>
172+
<dl class="parameters">
173+
<dt><a class="xref" href="https://learn.microsoft.com/dotnet/api/system.string">string</a></dt>
174+
<dd><p>The Lugas id for this instance if provided among reference ids, null otherwise</p>
175+
</dd>
176+
</dl>
177+
178+
179+
180+
181+
182+
183+
184+
185+
186+
</article>
187+
188+
<div class="contribution d-print-none">
189+
</div>
190+
191+
192+
</div>
193+
194+
<div class="affix">
195+
<nav id="affix"></nav>
196+
</div>
197+
</main>
198+
199+
<div class="container-xxl search-results" id="search-results"></div>
200+
201+
<footer class="border-top text-secondary">
202+
<div class="container-xxl">
203+
<div class="flex-fill">
204+
Copyright © 2025, Sportradar AG. Send comments or questions to <a href='mailto:sdk%40sportradar.com?Subject=Odds%20Feed%20SDK%20Std%20Documentation: UnifiedFeed SDK .NET Standard 2.0&amp;body=Your%20feedback%20is%20used%20to%20improve%20the%20documentation%20and%20the%20product.%20Your%20e-mail%20address%20will%20not%20be%20used%20for%20any%20other%20purpose%20and%20is%20disposed%20of%20after%20the%20issue%20you%20report%20is%20resolved.%20While%20working%20to%20resolve%20the%20issue%20that%20you%20report%2C%20you%20may%20be%20contacted%20via%20e-mail%20to%20get%20further%20details%20or%20clarification%20on%20the%20feedback%20you%20sent.%20After%20the%20issue%20you%20report%20has%20been%20addressed%2C%20you%20may%20receive%20an%20e-mail%20to%20let%20you%20know%20that%20your%20feedback%20has%20been%20addressed.'>SDK Team</a>.
205+
</div>
206+
</div>
207+
</footer>
208+
</body>
209+
</html>

docs/sdkapi/Sportradar.OddsFeed.SDK.Entities.Rest.html

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -357,6 +357,11 @@ <h3 id="interfaces">
357357
<dl class="jumplist">
358358
<dt><a class="xref" href="Sportradar.OddsFeed.SDK.Entities.Rest.IReference.html">IReference</a></dt>
359359
<dd><p>A contract for classes implementing array a+of references</p>
360+
</dd>
361+
</dl>
362+
<dl class="jumplist">
363+
<dt><a class="xref" href="Sportradar.OddsFeed.SDK.Entities.Rest.IReferenceV1.html">IReferenceV1</a></dt>
364+
<dd><p>A contract for classes implementing array a+of references</p>
360365
</dd>
361366
</dl>
362367
<dl class="jumplist">

docs/sdkapi/toc.html

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -637,6 +637,9 @@
637637
<li>
638638
<a href="Sportradar.OddsFeed.SDK.Entities.Rest.IReference.html" name="" title="IReference">IReference</a>
639639
</li>
640+
<li>
641+
<a href="Sportradar.OddsFeed.SDK.Entities.Rest.IReferenceV1.html" name="" title="IReferenceV1">IReferenceV1</a>
642+
</li>
640643
<li>
641644
<a href="Sportradar.OddsFeed.SDK.Entities.Rest.IRestMessage.html" name="" title="IRestMessage">IRestMessage</a>
642645
</li>

docs/sdkapi/toc.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

docs/xrefmap.yml

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15799,6 +15799,25 @@ references:
1579915799
isSpec: "True"
1580015800
fullName: Sportradar.OddsFeed.SDK.Entities.Rest.IReference.RotationNumber
1580115801
nameWithType: IReference.RotationNumber
15802+
- uid: Sportradar.OddsFeed.SDK.Entities.Rest.IReferenceV1
15803+
name: IReferenceV1
15804+
href: sdkapi/Sportradar.OddsFeed.SDK.Entities.Rest.IReferenceV1.html
15805+
commentId: T:Sportradar.OddsFeed.SDK.Entities.Rest.IReferenceV1
15806+
fullName: Sportradar.OddsFeed.SDK.Entities.Rest.IReferenceV1
15807+
nameWithType: IReferenceV1
15808+
- uid: Sportradar.OddsFeed.SDK.Entities.Rest.IReferenceV1.LugasId
15809+
name: LugasId
15810+
href: sdkapi/Sportradar.OddsFeed.SDK.Entities.Rest.IReferenceV1.html#Sportradar_OddsFeed_SDK_Entities_Rest_IReferenceV1_LugasId
15811+
commentId: P:Sportradar.OddsFeed.SDK.Entities.Rest.IReferenceV1.LugasId
15812+
fullName: Sportradar.OddsFeed.SDK.Entities.Rest.IReferenceV1.LugasId
15813+
nameWithType: IReferenceV1.LugasId
15814+
- uid: Sportradar.OddsFeed.SDK.Entities.Rest.IReferenceV1.LugasId*
15815+
name: LugasId
15816+
href: sdkapi/Sportradar.OddsFeed.SDK.Entities.Rest.IReferenceV1.html#Sportradar_OddsFeed_SDK_Entities_Rest_IReferenceV1_LugasId_
15817+
commentId: Overload:Sportradar.OddsFeed.SDK.Entities.Rest.IReferenceV1.LugasId
15818+
isSpec: "True"
15819+
fullName: Sportradar.OddsFeed.SDK.Entities.Rest.IReferenceV1.LugasId
15820+
nameWithType: IReferenceV1.LugasId
1580215821
- uid: Sportradar.OddsFeed.SDK.Entities.Rest.IRestMessage
1580315822
name: IRestMessage
1580415823
href: sdkapi/Sportradar.OddsFeed.SDK.Entities.Rest.IRestMessage.html

src/Sportradar.OddsFeed.SDK.DemoProject/Sportradar.OddsFeed.SDK.DemoProject.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
<PackageReference Include="Microsoft.Extensions.Logging" Version="9.0.1" />
2525
<PackageReference Include="Microsoft.Extensions.Logging.Log4Net.AspNetCore" Version="8.0.0" />
2626
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
27-
<PackageReference Include="Sportradar.OddsFeed.SDKCore" Version="3.1.0" />
27+
<PackageReference Include="Sportradar.OddsFeed.SDKCore" Version="3.3.0" />
2828
</ItemGroup>
2929

3030
<ItemGroup>
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
// Copyright (C) Sportradar AG.See LICENSE for full license governing this code
2+
3+
using Moq;
4+
using Sportradar.OddsFeed.SDK.Api.Internal.Caching;
5+
6+
namespace Sportradar.OddsFeed.SDK.Tests.Common.Builders.Extensions;
7+
8+
internal static class SportEntityFactoryBuilderExtensions
9+
{
10+
public static SportEntityFactoryBuilder WithMockedSportDataCache(this SportEntityFactoryBuilder builder)
11+
{
12+
var mock = new Mock<ISportDataCache>();
13+
return builder.WithSportDataCache(mock.Object);
14+
}
15+
16+
public static SportEntityFactoryBuilder WithMockedSportEventCache(this SportEntityFactoryBuilder builder)
17+
{
18+
var mock = new Mock<ISportEventCache>();
19+
return builder.WithSportEventCache(mock.Object);
20+
}
21+
22+
public static SportEntityFactoryBuilder WithMockedEventStatusCache(this SportEntityFactoryBuilder builder)
23+
{
24+
var mock = new Mock<ISportEventStatusCache>();
25+
return builder.WithEventStatusCache(mock.Object);
26+
}
27+
28+
public static SportEntityFactoryBuilder WithMockedMatchStatusCache(this SportEntityFactoryBuilder builder)
29+
{
30+
var mock = new Mock<ILocalizedNamedValueCache>();
31+
return builder.WithMatchStatusCache(mock.Object);
32+
}
33+
34+
public static SportEntityFactoryBuilder WithMockedProfileCache(this SportEntityFactoryBuilder builder)
35+
{
36+
var mock = new Mock<IProfileCache>();
37+
return builder.WithProfileCache(mock.Object);
38+
}
39+
40+
public static SportEntityFactoryBuilder WithAllMockedDependencies(this SportEntityFactoryBuilder builder)
41+
{
42+
return builder
43+
.WithMockedSportDataCache()
44+
.WithMockedSportEventCache()
45+
.WithMockedEventStatusCache()
46+
.WithMockedMatchStatusCache()
47+
.WithMockedProfileCache();
48+
}
49+
}

0 commit comments

Comments
 (0)