public InsertTiploc ( string tiploc ) : short | ||
tiploc | string | |
return | short |
private static void AddAssociation(dynamic rowData, List<TiplocCode> tiplocs, TiplocRepository tipRep, AssociationRepository aRep) { try { Association assoc = AssociationJsonMapper.ParseJsonAssociation(rowData.JsonAssociationV1, tiplocs); switch (assoc.TransactionType) { case TransactionType.Create: Trace.TraceInformation("Inserted Association From UID {0} -> {1}, Type {2}, Indicator {3}", assoc.MainTrainUid, assoc.AssocTrainUid, assoc.AssociationType, assoc.STPIndicator); break; case TransactionType.Delete: Trace.TraceInformation("Delete Association UID {0} For {1}", assoc.MainTrainUid, assoc.StartDate); break; } aRep.AddAssociation(assoc); } catch (TiplocNotFoundException tnfe) { TiplocCode t = new TiplocCode { Tiploc = tnfe.Code }; t.TiplocId = tipRep.InsertTiploc(t.Tiploc); tiplocs.Add(t); AddAssociation(rowData, tiplocs, tipRep, aRep); } }
private static void AddSchedule(TiplocRepository tiprep, List<TiplocCode> tiplocs, ScheduleRepository schedrep, dynamic rowData, int retryCount = 0) { try { AddSchedule(tiplocs, schedrep, rowData); } catch (TiplocNotFoundException tnfe) { TiplocCode t = new TiplocCode { Tiploc = tnfe.Code }; t.TiplocId = tiprep.InsertTiploc(t.Tiploc); tiplocs.Add(t); AddSchedule(tiplocs, schedrep, rowData); } catch (DbException dbe) { Trace.TraceError(dbe.ToString()); if (retryCount <= 3) { Trace.TraceInformation("Retrying"); AddSchedule(tiprep, tiplocs, schedrep, rowData, ++retryCount); } else { Trace.TraceError("Retry count exceeded"); //throw; } } }
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++; } }