private static void ImportAnomalies() { var context = new MassDefectContext(); var json = File.ReadAllText(AnomaliesPath); var anomalies = JsonConvert.DeserializeObject <IEnumerable <AnomaliesDTO> >(json); foreach (var anomaly in anomalies) { if (anomaly.OriginPlanet == null || anomaly.TeleportPlanet == null) { Console.WriteLine(InvalidDataMessage); continue; } var anomalyEntity = new Anomalie() { OriginPlanet = GetPlanetByName(anomaly.OriginPlanet, context), TeleportPlanet = GetPlanetByName(anomaly.TeleportPlanet, context) }; if (anomalyEntity.OriginPlanet == null || anomalyEntity.TeleportPlanet == null) { Console.WriteLine(InvalidDataMessage); continue; } context.Anomalies.Add(anomalyEntity); Console.WriteLine($"Successfully imported Anomaly anomaly."); } context.SaveChanges(); }
private static void ImportVictim(XElement victim, MassDefectContext context, Anomalie anomaly) { var name = victim.Attribute("name"); if (name == null) { return; } var personEntity = GetPersonByName(name.Value, context); if (personEntity == null) { Console.WriteLine(InvalidDataMessage); return; } anomaly.Victims.Add(personEntity); Console.WriteLine($"Successfully imported Anomaly Victim {name.Value}."); }
private static void ImportAnomalyAndVictims(XElement anomalyNode, MassDefectContext context) { var originPlanetName = anomalyNode.Attribute("origin-planet"); var teleportPlanetName = anomalyNode.Attribute("teleport-planet"); if (originPlanetName == null || teleportPlanetName == null) { Console.WriteLine(InvalidDataMessage); return; } var anomalyEntity = new Anomalie() { OriginPlanet = GetPlanetByName(originPlanetName.Value, context), TeleportPlanet = GetPlanetByName(teleportPlanetName.Value, context) }; if (anomalyEntity.OriginPlanet == null || anomalyEntity.TeleportPlanet == null) { Console.WriteLine(InvalidDataMessage); return; } context.Anomalies.Add(anomalyEntity); Console.WriteLine($"Successfully imported anomaly."); var victims = anomalyNode.XPathSelectElements("victims/victim"); foreach (var victim in victims) { ImportVictim(victim, context, anomalyEntity); } context.SaveChanges(); }