public GetTiplocByStanox ( string stanox ) : TiplocCode | ||
stanox | string | |
return | TiplocCode |
public TiplocCode GetTiplocByStanox(string stanox)
{
if (_stanoxCache.ContainsKey(stanox))
{
return _stanoxCache[stanox].FirstOrDefault();
}
const string sql = @"
SELECT
[Tiploc].[TiplocId],
[Tiploc].[Tiploc],
[Tiploc].[Nalco],
[Tiploc].[Description],
[Tiploc].[CRS],
[Tiploc].[Stanox]
FROM [Tiploc]
WHERE [Tiploc].[Stanox] = @stanox";
var results = Query<TiplocCode>(sql, new { stanox });
if (results.Any())
{
AddToCache(stanox, results);
}
return results.FirstOrDefault();
}
static void Main(string[] args) { // this data is fetchable via http://nrodwiki.rockshore.net/index.php/ReferenceData string jsonData = File.ReadAllText("CORPUSExtract.json"); TiplocContainer container = JsonConvert.DeserializeObject<TiplocContainer>(jsonData); System.Console.WriteLine("Loaded {0} Tiplocs", container.TIPLOCDATA.Count()); TiplocRepository tiplocRepo = new TiplocRepository(); ulong counter = 1; foreach (var tiploc in container.TIPLOCDATA) { System.Console.WriteLine("Processing number {0}", counter); if (!string.IsNullOrWhiteSpace(tiploc.STANOX) && !string.IsNullOrWhiteSpace(tiploc.TIPLOC) && tiplocRepo.GetTiplocByStanox(tiploc.STANOX) == null) { System.Console.WriteLine("Inserting {0}", tiploc.NLCDESC); tiplocRepo.InsertTiploc(tiploc.ToTiplocCode()); } counter++; } }