Hi
Getting an object set to null reference, when accessing the market time. My code is below. Is there something wrong with my filters? I'm trying to get a list together of MarketIDs and their respective start times for the day.
Any help appreciated, probably something stupid I'm overlooking. Thanks.
public static List<MarketCatalogue> myCatalogueToday(IClient myClient)
{
ISet<string> eventypeIds = new HashSet<string>();
eventypeIds.Add("4339"); // Note 4339 for dogs
// eventypeIds.Add("7");//horse racing.
//ListMarketCatalogue: Get next available horse races, parameters:
var time = new TimeRange();
time.From = DateTime.Now;
time.From = time.From.Add(new TimeSpan(0, -2, 0));
time.To = DateTime.Now.AddHours(18);
var marketFilter = new MarketFilter();
marketFilter = new MarketFilter();
marketFilter.EventTypeIds = eventypeIds;
marketFilter.MarketStartTime = time;
//market countries appears to be the location of the events (not legal betting territories)
marketFilter.MarketCountries = new HashSet<string>() { "GB", "IE" }; //,, "AU" "US",,, ,"FR", "AU" us,"FR", "ZA","SG", "IE", "NZ", "UA", "IN"
marketFilter.MarketTypeCodes = new HashSet<String>() { "WIN" };
var marketSort = MarketSort.FIRST_TO_START;
var maxResults = "120";
//as an example we requested runner metadata
ISet<MarketProjection> marketProjections = new HashSet<MarketProjection>();
marketProjections.Add(MarketProjection.RUNNER_META DATA);
marketProjections.Add(MarketProjection.RUNNER_DESC RIPTION);
Console.WriteLine("\nGetting todays catalogue");
var myList = myClient.listMarketCatalogue(marketFilter, marketProjections, marketSort, maxResults);
List<MarketCatalogue> myMarketCatalogue = new List<MarketCatalogue>();
MarketCatalogue Sole = new MarketCatalogue();
for (int i = 0; i < myList.Count; i++)
// for (int i = 0; i < 1; i++)
{
Sole.MarketId = myList[i].MarketId;
Sole.MarketName = myList[i].MarketName;
Sole.IsMarketDataDelayed = myList[i].IsMarketDataDelayed;
Sole.Runners = myList[i].Runners;
Sole.Description = myList[i].Description;
Sole.EventType = myList[i].EventType;
Sole.Event = myList[i].Event;
Sole.Competition = myList[i].Competition;
myMarketCatalogue.Add(Sole);
}
return myMarketCatalogue;
}
//////////////////////////////////////////////////////////////////////////////////////////////Main Progam/////////////////////////////////////////////////////////////////////////////
for (int i = 0; i < TodaysCatalogue.Count(); i++)
{
//code below is ok
string A = TodaysCatalogue[i].MarketId;
Console.WriteLine(A);
// faulty code next line, returns System.NullReferenceException: 'Object reference not set to an instance of an object.' MarketCatalogue.Description.get returned null.
Console.WriteLine(" "+TodaysCatalogue[0].MarketId + " " + TodaysCatalogue[0].Description.MarketTime+"");
}
Getting an object set to null reference, when accessing the market time. My code is below. Is there something wrong with my filters? I'm trying to get a list together of MarketIDs and their respective start times for the day.
Any help appreciated, probably something stupid I'm overlooking. Thanks.
public static List<MarketCatalogue> myCatalogueToday(IClient myClient)
{
ISet<string> eventypeIds = new HashSet<string>();
eventypeIds.Add("4339"); // Note 4339 for dogs
// eventypeIds.Add("7");//horse racing.
//ListMarketCatalogue: Get next available horse races, parameters:
var time = new TimeRange();
time.From = DateTime.Now;
time.From = time.From.Add(new TimeSpan(0, -2, 0));
time.To = DateTime.Now.AddHours(18);
var marketFilter = new MarketFilter();
marketFilter = new MarketFilter();
marketFilter.EventTypeIds = eventypeIds;
marketFilter.MarketStartTime = time;
//market countries appears to be the location of the events (not legal betting territories)
marketFilter.MarketCountries = new HashSet<string>() { "GB", "IE" }; //,, "AU" "US",,, ,"FR", "AU" us,"FR", "ZA","SG", "IE", "NZ", "UA", "IN"
marketFilter.MarketTypeCodes = new HashSet<String>() { "WIN" };
var marketSort = MarketSort.FIRST_TO_START;
var maxResults = "120";
//as an example we requested runner metadata
ISet<MarketProjection> marketProjections = new HashSet<MarketProjection>();
marketProjections.Add(MarketProjection.RUNNER_META DATA);
marketProjections.Add(MarketProjection.RUNNER_DESC RIPTION);
Console.WriteLine("\nGetting todays catalogue");
var myList = myClient.listMarketCatalogue(marketFilter, marketProjections, marketSort, maxResults);
List<MarketCatalogue> myMarketCatalogue = new List<MarketCatalogue>();
MarketCatalogue Sole = new MarketCatalogue();
for (int i = 0; i < myList.Count; i++)
// for (int i = 0; i < 1; i++)
{
Sole.MarketId = myList[i].MarketId;
Sole.MarketName = myList[i].MarketName;
Sole.IsMarketDataDelayed = myList[i].IsMarketDataDelayed;
Sole.Runners = myList[i].Runners;
Sole.Description = myList[i].Description;
Sole.EventType = myList[i].EventType;
Sole.Event = myList[i].Event;
Sole.Competition = myList[i].Competition;
myMarketCatalogue.Add(Sole);
}
return myMarketCatalogue;
}
//////////////////////////////////////////////////////////////////////////////////////////////Main Progam/////////////////////////////////////////////////////////////////////////////
for (int i = 0; i < TodaysCatalogue.Count(); i++)
{
//code below is ok
string A = TodaysCatalogue[i].MarketId;
Console.WriteLine(A);
// faulty code next line, returns System.NullReferenceException: 'Object reference not set to an instance of an object.' MarketCatalogue.Description.get returned null.
Console.WriteLine(" "+TodaysCatalogue[0].MarketId + " " + TodaysCatalogue[0].Description.MarketTime+"");
}


Comment