TrainNotifier.Service.TiplocRepository.GetTiplocByStanox C# (CSharp) Méthode

GetTiplocByStanox() public méthode

public GetTiplocByStanox ( string stanox ) : TiplocCode
stanox string
Résultat 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();
        }

Usage Example

        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++;
            }
        }