Ejemplo n.º 1
0
        private static void ImportTelescopes(PlanetHunterContext context)
        {
            var json = File.ReadAllText("../../datasets/telescopes.json");

            var telescopes = JsonConvert.DeserializeObject <ICollection <TelescopesDTO> >(json);

            using (context)
            {
                foreach (var telescope in telescopes)
                {
                    if (telescope.MirrorDiameter <= 0 || telescope.Name == null || telescope.Location == null)
                    {
                        Console.WriteLine("Invalid data format.");
                        continue;
                    }

                    var tel = new Telescope
                    {
                        Name           = telescope.Name,
                        Location       = telescope.Location,
                        MirrorDiameter = telescope.MirrorDiameter
                    };
                    context.Telescopes.Add(tel);
                    Console.WriteLine($"Record {telescope.Name} successfully imported.");
                }
                context.SaveChanges();
            }
        }
Ejemplo n.º 2
0
        public static void AddTelescopes(List <TelescopeDTO> telescopes)
        {
            using (var ctx = new PlanetHunterContext())
            {
                foreach (var telescopeDTO in telescopes)
                {
                    if (telescopeDTO.Name != null && telescopeDTO.Name != null)
                    {
                        if (telescopeDTO.MirrorDiameter < 0)
                        {
                            telescopeDTO.MirrorDiameter = null;
                        }
                        if (telescopeDTO.MirrorDiameter == 0)
                        {
                            telescopeDTO.MirrorDiameter = null;
                        }

                        var telescope = new Telescope()
                        {
                            Location       = telescopeDTO.Location,
                            MirrorDiameter = telescopeDTO.MirrorDiameter,
                            Name           = telescopeDTO.Name
                        };
                        ctx.Telescopes.Add(telescope);

                        Console.WriteLine($"Record {telescope.Name} successfully imported.");
                        ctx.SaveChanges();
                    }
                    else
                    {
                        Console.WriteLine("Error. Invalid data provided.");
                    }
                }
            }
        }
Ejemplo n.º 3
0
        private static void ImportAstronomers(PlanetHunterContext context)
        {
            var json = File.ReadAllText("../../datasets/astronomers.json");

            var astronomers = JsonConvert.DeserializeObject <ICollection <AstronomerDTO> >(json);

            using (context)
            {
                foreach (var astro in astronomers)
                {
                    if (astro.FirstName == null || astro.LastName == null)
                    {
                        Console.WriteLine("Invalid data format.");
                        continue;
                    }

                    var a = new Astronomer()
                    {
                        FirstName = astro.FirstName,
                        LastName  = astro.LastName
                    };

                    context.Astronomers.Add(a);
                    Console.WriteLine($"Record {astro.FirstName} {astro.LastName} successfully imported.");
                }
                context.SaveChanges();
            }
        }
Ejemplo n.º 4
0
        static void Main()
        {
            var context = new PlanetHunterContext();

            //Export Data

            //JSON Export
            ExportPlanets(context);
        }
Ejemplo n.º 5
0
 private static void InitializeDatabase()
 {
     try
     {
         var ctx = new PlanetHunterContext();
         ctx.Database.Initialize(true);
     }
     catch (Exception e)
     {
         Console.WriteLine(e.Message);
     }
 }
        public static void AddStars(IEnumerable <XElement> stars)
        {
            using (var ctx = new PlanetHunterContext())
            {
                foreach (var starXML in stars)
                {
                    var starName    = starXML.Element("Name").Value;
                    int temperature = int.Parse(starXML.Element("Temperature").Value);
                    var starSystem  = starXML.Element("StarSystem").Value;

                    if (starName != null && temperature >= 2400 && starSystem != null)
                    {
                        if (!ctx.StarSystems.Any(c => c.Name == starSystem))
                        {
                            var starSystemObject = new StarSystem()
                            {
                                Name = starSystem
                            };

                            ctx.StarSystems.Add(starSystemObject);

                            var star = new Star()
                            {
                                Name           = starName,
                                Temperature    = temperature,
                                HostStarSystem = starSystemObject
                            };
                            ctx.Stars.Add(star);
                            Console.WriteLine($"Record {star.Name} successfully added.");
                        }
                        else
                        {
                            var starSystemObject = ctx.StarSystems.FirstOrDefault(c => c.Name == starSystem);
                            var star             = new Star()
                            {
                                Name           = starName,
                                Temperature    = temperature,
                                HostStarSystem = starSystemObject
                            };
                            ctx.Stars.Add(star);
                            Console.WriteLine($"Record {star.Name} successfully added.");
                        }
                    }
                    else
                    {
                        Console.WriteLine("Error. Invalid data provided!");
                    }
                }
                ctx.SaveChanges();
            }
        }
Ejemplo n.º 7
0
        private static void ImportDiscoveries(PlanetHunterContext context)
        {
            var      discXDoc = XDocument.Load("../../datasets/discoveries.xml");
            XElement discRoot = discXDoc.Root;

            using (context)
            {
                foreach (var discover in discRoot.Elements())
                {
                    var date      = discover.Element("DateMade");
                    var telescope = discover.Element("Telescope");
                }
            }
        }
Ejemplo n.º 8
0
        static void Main()
        {
            var context = new PlanetHunterContext();
            //context.Database.Initialize(true);


            //02.Data Import

            //-JSON Import
            //ImportAstronomers(context);
            //ImportTelescopes(context);
            //ImportPlanets(context);

            //-XML Import
            //ImportStars(context);
            //ImportDiscoveries(context);
        }
Ejemplo n.º 9
0
        private static void ImportStars(PlanetHunterContext context)
        {
            XDocument starsXDoc = XDocument.Load("../../datasets/stars.xml");
            XElement  starsRoot = starsXDoc.Root;

            using (context)
            {
                foreach (var star in starsRoot.Elements())
                {
                    var name        = star.Element("Name");
                    var temperature = int.Parse(star.Element("Temperature").Value);
                    var starSystem  = star.Element("StarSystem").Value;

                    if (name == null || temperature < 2400 || starSystem == null)
                    {
                        Console.WriteLine("Invalid data format.");
                        continue;
                    }

                    var s = new Star();

                    var starSystemName = context.StarSystems.FirstOrDefault(ss => ss.Name == starSystem);

                    if (starSystemName != null)
                    {
                        s.Name        = name.Value;
                        s.Temperature = temperature;
                        s.StarSystem  = starSystemName;
                    }
                    else if (starSystemName == null)
                    {
                        s.Name        = name.Value;
                        s.Temperature = temperature;
                        var ss = new StarSystem();
                        ss.Name      = name.Value;
                        s.StarSystem = ss;
                    }
                    context.Stars.Add(s);
                    Console.WriteLine($"Record {s.Name} successfully imported.");
                }
                context.SaveChanges();
            }
        }
Ejemplo n.º 10
0
        public static void ExportPlanets(string telescopeName)
        {
            var ctx = new PlanetHunterContext();

            if (ctx.Planets.Any(c => c.Discovery.Telescope.Name == telescopeName))
            {
                var planets = ctx.Planets.Where(c => c.Discovery.Telescope.Name == telescopeName).Select(c => new
                {
                    Name     = c.Name,
                    Mass     = c.Mass,
                    Orbiting = new { c.HostStarSystem.Name }
                }).OrderByDescending(c => c.Mass).ToList();



                var json = JsonConvert.SerializeObject(planets, Formatting.Indented);
                File.WriteAllText($"../../exports/planets-by-{telescopeName}", json);
            }
        }
Ejemplo n.º 11
0
        private static void ExportPlanets(PlanetHunterContext context)
        {
            var enterTelescopeName = Console.ReadLine();
            var telescopeName      = context.Planets
                                     .Where(p => p.Discovery.Telescope.Name == enterTelescopeName)
                                     .Select(t => new
            {
                Name     = t.Name,
                Mass     = t.Mass,
                Orbiting = t.StarSystem.Stars.Select(a => new
                {
                    Name = a.Name
                })
            })
                                     .OrderByDescending(b => b.Mass);

            string result = JsonConvert.SerializeObject(telescopeName, Formatting.Indented);

            Console.WriteLine(result);
            File.WriteAllText($"../../Export/planets-by-{enterTelescopeName}.json", result);
        }
Ejemplo n.º 12
0
        private static void ImportPlanets(PlanetHunterContext context)
        {
            var json = File.ReadAllText("../../datasets/planets.json");

            var planets = JsonConvert.DeserializeObject <ICollection <PlanetsDTO> >(json);

            using (context)
            {
                foreach (var planet in planets)
                {
                    if (planet.Name == null || planet.StarSystem == null || planet.Mass <= 0)
                    {
                        Console.WriteLine("Invalid data format.");
                        continue;
                    }
                    var p = new Planet();

                    var starSystem = context.StarSystems.FirstOrDefault(pl => pl.Name == planet.StarSystem);

                    if (starSystem != null)
                    {
                        p.Name       = planet.Name;
                        p.Mass       = planet.Mass;
                        p.StarSystem = starSystem;
                    }
                    else if (starSystem == null)
                    {
                        p.Name = planet.Name;
                        p.Mass = planet.Mass;
                        var ss = new StarSystem();
                        ss.Name      = planet.Name;
                        p.StarSystem = ss;
                    }
                    context.Planets.Add(p);
                    Console.WriteLine($"Record {planet.Name} successfully imported.");
                }
                context.SaveChanges();
            }
        }
Ejemplo n.º 13
0
 public static void AddAstronomers(List <AstronomerDTO> astronomers)
 {
     using (var ctx = new PlanetHunterContext())
     {
         foreach (var astronomerDTO in astronomers)
         {
             if (astronomerDTO.FirstName != null && astronomerDTO.LastName != null)
             {
                 var astronomer = new Astronomer()
                 {
                     FirstName = astronomerDTO.FirstName,
                     LastName  = astronomerDTO.LastName
                 };
                 ctx.Astronomers.Add(astronomer);
                 Console.WriteLine($"Record {astronomer.FirstName} {astronomer.LastName} successfully imported.");
             }
             else
             {
                 Console.WriteLine("Error. Invalid data provided!");
             }
         }
         ctx.SaveChanges();
     }
 }
Ejemplo n.º 14
0
        public static void AddDiscoveries(IEnumerable <XElement> discoveries)
        {
            using (var ctx = new PlanetHunterContext())
            {
                foreach (var discoveryXML in discoveries)
                {
                    var date          = Convert.ToDateTime(discoveryXML.Attribute("DateMade").Value);
                    var telescopeName = discoveryXML.Attribute("Telescope").Value;
                    var telescope     = ctx.Telescopes.FirstOrDefault(c => c.Name == telescopeName);
                    var stars         = discoveryXML.Element("Stars")?.Elements();
                    var starNames     = new List <string>();
                    if (stars != null)
                    {
                        foreach (var starXML in stars)
                        {
                            if (ctx.Stars.Any(c => c.Name == starXML.Value))
                            {
                                starNames.Add(starXML.Value);
                            }
                        }
                    }

                    var planets     = discoveryXML.Element("Planets")?.Elements();
                    var planetNames = new List <string>();
                    if (planets != null)
                    {
                        foreach (var planetXML in planets)
                        {
                            if (ctx.Planets.Any(c => c.Name == planetXML.Value))
                            {
                                planetNames.Add(planetXML.Value);
                            }
                        }
                    }

                    var pioneers      = discoveryXML.Element("Pioneers")?.Elements();
                    var pioneersNames = new List <string>();
                    if (pioneers != null)
                    {
                        foreach (var astronomerXML in pioneers)
                        {
                            var fullName  = astronomerXML.Value.Split(new[] { ' ', ',' }, StringSplitOptions.RemoveEmptyEntries).ToArray();
                            var firstName = fullName[1];
                            var lastName  = fullName[0];
                            if (ctx.Astronomers.Any(c => c.FirstName == firstName && c.LastName == lastName))
                            {
                                var fullNameString = firstName + " " + lastName;
                                pioneersNames.Add(fullNameString);
                            }
                        }
                    }
                    var observersNames = new List <string>();
                    var observers      = discoveryXML.Element("Observers")?.Elements();
                    if (observers != null)
                    {
                        foreach (var astronomerXML in observers)
                        {
                            var fullName  = astronomerXML.Value.Split(new[] { ' ', ',' }, StringSplitOptions.RemoveEmptyEntries).ToArray();
                            var firstName = fullName[1];
                            var lastName  = fullName[0];
                            if (ctx.Astronomers.Any(c => c.FirstName == firstName && c.LastName == lastName))
                            {
                                var fullNameString = firstName + " " + lastName;
                                observersNames.Add(fullNameString);
                            }
                        }
                    }
                    var pioneersObject  = new List <Astronomer>();
                    var observersObject = new List <Astronomer>();
                    foreach (var observerName in observersNames)
                    {
                        var array     = observerName.Split(' ').ToArray();
                        var firstName = array[0];
                        var lastName  = array[1];
                        if (ctx.Astronomers.Any(c => c.FirstName == firstName && c.LastName == lastName))
                        {
                            var observerAstronomer = ctx.Astronomers.FirstOrDefault(c => c.FirstName == firstName && c.LastName == lastName);
                            observersObject.Add(observerAstronomer);
                        }
                    }

                    foreach (var pioneerName in pioneersNames)
                    {
                        var array     = pioneerName.Split(' ').ToArray();
                        var firstName = array[0];
                        var lastName  = array[1];
                        if (ctx.Astronomers.Any(c => c.FirstName == firstName && c.LastName == lastName))
                        {
                            var pioneerAstronomer = ctx.Astronomers.FirstOrDefault(c => c.FirstName == firstName && c.LastName == lastName);
                            pioneersObject.Add(pioneerAstronomer);
                        }
                    }
                    var planetsObject = new List <Planet>();
                    foreach (var planetName in planetNames)
                    {
                        if (ctx.Planets.Any(c => c.Name == planetName))
                        {
                            var planet = ctx.Planets.FirstOrDefault(c => c.Name == planetName);
                            planetsObject.Add(planet);
                        }
                        else
                        {
                            continue;
                        }
                    }

                    var starsObject = new List <Star>();
                    foreach (var starName in starNames)
                    {
                        if (ctx.Stars.Any(c => c.Name == starName))
                        {
                            var star = ctx.Stars.FirstOrDefault(c => c.Name == starName);
                            starsObject.Add(star);
                        }
                    }

                    if (date != null)
                    {
                        var discovery = new Discovery()
                        {
                            Date      = date,
                            Telescope = telescope,
                            Observers = observersObject,
                            Pioneers  = pioneersObject,
                            Planets   = planetsObject,
                            Stars     = starsObject
                        };
                        ctx.Discoveries.Add(discovery);
                        Console.WriteLine($"Discovery ({discovery.Date.Date}-{discovery.Telescope.Name}) with {starsObject.Count} star(s), {planetsObject.Count} planet(s), {pioneersObject.Count} pioneer(s) and {observersObject.Count} observers succesfully imported! ");

                        ctx.SaveChanges();
                    }
                }
            }
        }
Ejemplo n.º 15
0
 internal static void ExportAllStars()
 {
     var ctx   = new PlanetHunterContext();
     var stars = ctx.Stars.Select(c => new { Name = c.Name, c.Temperature, StarSystemName = c.HostStarSystem.Name, DiscoveryDate = c.Discovery.Date, TelescopeName = c.Discovery.Telescope.Name, Astronomers = c.Discovery.Pioneers });
 }
Ejemplo n.º 16
0
        public static void AddPlanets(List <PlanetDTO> planets)
        {
            using (var ctx = new PlanetHunterContext())
            {
                foreach (var planetDTO in planets)
                {
                    if (planetDTO.Name != null && planetDTO.StarSystem != null)
                    {
                        if (!ctx.StarSystems.Any(c => c.Name == planetDTO.StarSystem))
                        {
                            var starSystem = new StarSystem()
                            {
                                Name = planetDTO.StarSystem
                            };
                            ctx.StarSystems.Add(starSystem);
                            if (planetDTO.Mass > 0 && planetDTO.Mass != 0)
                            {
                                var planet = new Planet()
                                {
                                    Name           = planetDTO.Name,
                                    Mass           = planetDTO.Mass,
                                    HostStarSystem = starSystem
                                };
                                ctx.Planets.Add(planet);
                                Console.WriteLine($"Record {planet.Name} successfully imported!");
                                ctx.SaveChanges();
                            }
                            else
                            {
                                Console.WriteLine("Error. Invalid data provided!");
                            }
                        }
                        else
                        {
                            var starSystem = ctx.StarSystems.FirstOrDefault(c => c.Name == planetDTO.StarSystem);

                            if (planetDTO.Mass > 0 && planetDTO.Mass != 0)
                            {
                                var planet = new Planet()
                                {
                                    Name           = planetDTO.Name,
                                    Mass           = planetDTO.Mass,
                                    HostStarSystem = starSystem
                                };
                                ctx.Planets.Add(planet);
                                Console.WriteLine($"Record {planet.Name} successfully imported!");
                                ctx.SaveChanges();
                            }
                            else
                            {
                                Console.WriteLine("Error. Invalid data provided!");
                            }
                        }
                    }
                    else
                    {
                        Console.WriteLine("Error. Invalid data provided!");
                    }
                }
            }
        }