public static void ImportPlanets() { using (var context = new MassDefectContext()) { var json = File.ReadAllText(@"..\..\..\MassDefect.Data\Import\planets.json"); List <PlanetDTO> planetsDTO = new List <PlanetDTO>(); planetsDTO = JsonConvert.DeserializeObject <List <PlanetDTO> >(json); List <Planet> planets = new List <Planet>(); StringBuilder sb = new StringBuilder(); foreach (var p in planetsDTO) { if (p.Name != null && p.SolarSystem != null && p.Sun != null) { if (SolarSystemExists(p.SolarSystem) && StarExists(p.Sun)) { Planet planet = new Planet { Name = p.Name, SolarSystem = GetSolarSystemByName(p.SolarSystem, context), Sun = GetStarByName(p.Sun, context) }; planets.Add(planet); sb.AppendLine($"Successfully imported Planet {p.Name}"); } else { sb.AppendLine("Error: Invalid data."); } } else { sb.AppendLine("Error: Invalid data."); } } context.Planets.AddRange(planets); context.SaveChanges(); Console.WriteLine(sb.ToString()); } }
public static void ImportPeople() { using (var context = new MassDefectContext()) { var json = File.ReadAllText(@"..\..\..\MassDefect.Data\Import\persons.json"); List <PersonDTO> peopleDTO = new List <PersonDTO>(); peopleDTO = JsonConvert.DeserializeObject <List <PersonDTO> >(json); List <Person> people = new List <Person>(); StringBuilder sb = new StringBuilder(); foreach (var p in peopleDTO) { if (p.Name != null && p.HomePlanet != null) { if (PlanetExists(p.HomePlanet)) { Person person = new Person { Name = p.Name, HomePlanet = GetPlanetByName(p.HomePlanet, context) }; people.Add(person); sb.AppendLine($"Successfully imported Person {p.Name}"); } else { sb.AppendLine("Error: Invalid data."); } } else { sb.AppendLine("Error: Invalid data."); } } context.People.AddRange(people); context.SaveChanges(); Console.WriteLine(sb.ToString()); } }
public static void ImportAnomalies() { using (var context = new MassDefectContext()) { var json = File.ReadAllText(@"..\..\..\MassDefect.Data\Import\anomalies.json"); List <AnomalyDTO> anomaliesDTO = new List <AnomalyDTO>(); anomaliesDTO = JsonConvert.DeserializeObject <List <AnomalyDTO> >(json); List <Anomaly> anomalies = new List <Anomaly>(); StringBuilder sb = new StringBuilder(); foreach (var a in anomaliesDTO) { if (a.OriginPlanet != null && a.TeleportPlanet != null) { if (PlanetExists(a.OriginPlanet) && PlanetExists(a.TeleportPlanet)) { Anomaly anomaly = new Anomaly { OriginPlanet = GetPlanetByName(a.OriginPlanet, context), TeleportPlanet = GetPlanetByName(a.TeleportPlanet, context) }; anomalies.Add(anomaly); sb.AppendLine($"Successfully imported Anomaly from {anomaly.OriginPlanet.Name} to {anomaly.TeleportPlanet.Name}"); } else { sb.AppendLine("Error: Invalid data."); } } else { sb.AppendLine("Error: Invalid data."); } } context.Anomalies.AddRange(anomalies); context.SaveChanges(); Console.WriteLine(sb.ToString()); } }
public static void ImportStars() { using (var context = new MassDefectContext()) { var json = File.ReadAllText(@"..\..\..\MassDefect.Data\Import\stars.json"); List <StarDTO> starsDTO = new List <StarDTO>(); starsDTO = JsonConvert.DeserializeObject <List <StarDTO> >(json); List <Star> stars = new List <Star>(); StringBuilder sb = new StringBuilder(); foreach (var s in starsDTO) { if (s.Name != null && s.SolarSystem != null) { if (SolarSystemExists(s.SolarSystem)) { Star star = new Star { Name = s.Name, SolarSystem = GetSolarSystemByName(s.SolarSystem, context) }; stars.Add(star); sb.AppendLine($"Successfully imported Star {s.Name}"); } else { sb.AppendLine("Error: Invalid data."); } } else { sb.AppendLine("Error: Invalid data."); } } context.Stars.AddRange(stars); context.SaveChanges(); Console.WriteLine(sb.ToString()); } }
public static void ExportAnomalies() { using (var context = new MassDefectContext()) { var anomalies = context.Anomalies .Select(a => new { Id = a.Id, OriginPlanet = a.OriginPlanet.Name, TeleportPlanet = a.TeleportPlanet.Name, Victims = a.Victims.Select(v => v.Name) }) .OrderBy(o => o.Id) .ToList(); var xml = new XElement("anomalies"); foreach (var a in anomalies) { var anomalyNode = new XElement("anomaly"); anomalyNode.Add(new XAttribute("id", a.Id)); anomalyNode.Add(new XAttribute("origin-planet", a.OriginPlanet)); anomalyNode.Add(new XAttribute("teleport-planet", a.TeleportPlanet)); var victimsNode = new XElement("victims"); foreach (var name in a.Victims) { var victimEle = new XElement("victim"); victimEle.Add(new XAttribute("name", name)); victimsNode.Add(victimEle); } anomalyNode.Add(victimsNode); xml.Add(anomalyNode); } xml.Save(@"..\..\..\MassDefect.Data\Export\anomalies.xml"); } }
public static void ExportPlanets() { using (var context = new MassDefectContext()) { var planets = context.Planets .Where(p => !p.OriginatingAnomalies.Any()) .Select(p => new { Name = p.Name }).ToList(); JsonSerializerSettings settings = new JsonSerializerSettings { Formatting = Formatting.Indented, ContractResolver = new CamelCasePropertyNamesContractResolver() }; var json = JsonConvert.SerializeObject(planets, settings); File.WriteAllText(@"..\..\..\MassDefect.Data\Export\planets.json", json); } }
public GenericDbRepository(MassDefectContext dbContext) { this.dbContext = dbContext; this.dbSet = this.dbContext.Set <TEntity>(); }
public GenericDbUnitOfWork() { this.dbContext = new MassDefectContext(); this.isDisposed = false; }
public static Anomaly GetAnomalyByPlanetsId(MassDefectContext context, int originPlanetId, int teleportPlanetId) { return(context.Anomalies .FirstOrDefault(a => a.OriginPlanetId == originPlanetId && a.TeleportPlanetId == teleportPlanetId)); }
public static SolarSystem GetSolarSystemByName(MassDefectContext context, string name) { return(context.SolarSystems.FirstOrDefault(s => s.Name == name)); }
public static Person GetPersonByName(MassDefectContext context, string name) { return(context.Persons.FirstOrDefault(p => p.Name == name)); }
public static Anomaly GetAnomalyById(MassDefectContext context, int id) { return(context.Anomalies.FirstOrDefault(a => a.Id == id)); }
public static Star GetSunByName(MassDefectContext context, string name) { return(context.Stars.FirstOrDefault(s => s.Name == name)); }
public static Planet GetPlanetByName(MassDefectContext context, string name) { return(context.Planets.FirstOrDefault(p => p.Name == name)); }
private static Person GetPersonByName(string personName, MassDefectContext context) { return(context.People.FirstOrDefault(p => p.Name == personName)); }
private static Anomaly GetAnomalyById(int id, MassDefectContext context) { return(context.Anomalies.FirstOrDefault(a => a.Id == id)); }
private static SolarSystem GetSolarSystemByName(string solarSystem, MassDefectContext context) { return(context.SolarSystems.FirstOrDefault(ss => ss.Name == solarSystem)); }
private static Planet GetPlanetByName(string planetName, MassDefectContext context) { return(context.Planets.FirstOrDefault(p => p.Name == planetName)); }
private static Star GetStarByName(string starName, MassDefectContext context) { return(context.Stars.FirstOrDefault(s => s.Name == starName)); }