Esempio n. 1
0
        /// <summary>
        /// Loads reference data from datafiles
        /// </summary>
        /// <returns></returns>
        public static async Task InitializeDatabaseAsync()
        {
            using (var db = new CypherContext())
            {
                try
                {
                    Console.WriteLine("Clearing Database...");
                    Console.WriteLine("Clearing Cyphers.");
                    db.Cyphers.RemoveRange(db.Cyphers.ToList());
                    await db.SaveChangesAsync();

                    Console.WriteLine("Cyphers Cleared!");

                    Console.WriteLine("Clearing Artifacts.");
                    db.Artifacts.RemoveRange(db.Artifacts.ToList());
                    await db.SaveChangesAsync();

                    Console.WriteLine("Artifacts Cleared!");

                    Console.WriteLine("Getting Cyphers from cyphers.json");
                    var cypherStrings = ""; //await Data.FileIO.GetFileString("cyphers");

                    Console.WriteLine("Parsing Cyphers.");
                    var cyphers = Newtonsoft.Json.JsonConvert.DeserializeObject <List <Cypher> >(cypherStrings);

                    Console.WriteLine($"{cyphers.Count()} cyphers found! Adding.");
                    db.AddRange(cyphers);
                    await db.SaveChangesAsync();

                    Console.WriteLine("Getting Artifacts from artifacts.json");
                    var artifactStrings = ""; // await Data.FileIO.GetFileString("artifacts");

                    Console.WriteLine("Parsing Artifacts.");
                    var artifacts = Newtonsoft.Json.JsonConvert.DeserializeObject <List <Artifact> >(artifactStrings);

                    Console.WriteLine($"{artifacts.Count()} artifacts found! Adding.");
                    db.AddRange(artifacts);
                    await db.SaveChangesAsync();
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Loads reference data from datafiles
        /// </summary>
        public static async Task InitializeDatabaseAsync()
        {
            using (var db = new CypherContext())
            {
                try
                {
                    #region DatabaseClear
                    Console.WriteLine("Clearing Database...");

                    Console.WriteLine("Clearing Cyphers.");
                    db.Cyphers.RemoveRange(db.Cyphers.ToList());
                    await db.SaveChangesAsync();

                    Console.WriteLine("Cyphers Cleared!");

                    Console.WriteLine("Clearing Artifacts.");
                    db.Artifacts.RemoveRange(db.Artifacts.ToList());
                    await db.SaveChangesAsync();

                    Console.WriteLine("Artifacts Cleared!");

                    Console.WriteLine("Clearing Oddities.");
                    db.Oddities.RemoveRange(db.Oddities.ToList());
                    await db.SaveChangesAsync();

                    Console.WriteLine("Oddities Cleared!");

                    Console.WriteLine("Clearing Artifact Quirks.");
                    db.ArtifactQuirks.RemoveRange(db.ArtifactQuirks.ToList());
                    await db.SaveChangesAsync();

                    Console.WriteLine("Artifact Quirks Cleared!");
                    #endregion

                    //Cyphers
                    #region CypherLoad
                    Console.WriteLine("Getting Cyphers from cyphers.json");
                    var cypherStrings = await Data.FileIO.GetFileString("cyphers");

                    Console.WriteLine("Parsing Cyphers.");
                    var cyphers = Newtonsoft.Json.JsonConvert.DeserializeObject <List <Cypher> >(cypherStrings);

                    Console.WriteLine($"{cyphers.Count()} cyphers found! Adding.");
                    db.AddRange(cyphers);
                    await db.SaveChangesAsync();

                    #endregion

                    //Artifacts
                    #region ArtifactLoad
                    Console.WriteLine("Getting Artifacts from artifacts.json");
                    var artifactStrings = await Data.FileIO.GetFileString("artifacts");

                    Console.WriteLine("Parsing Artifacts.");
                    var artifacts = Newtonsoft.Json.JsonConvert.DeserializeObject <List <Artifact> >(artifactStrings);

                    Console.WriteLine($"{artifacts.Count()} artifacts found! Adding.");
                    db.AddRange(artifacts);
                    await db.SaveChangesAsync();

                    #endregion

                    //Oddities
                    #region OddityLoad
                    Console.WriteLine("Getting Oddities from oddities.json");
                    var odditieStrings = await Data.FileIO.GetFileString("oddities");

                    Console.WriteLine("Parsing Artifacts.");
                    var oddities = Newtonsoft.Json.JsonConvert.DeserializeObject <List <Oddity> >(odditieStrings);

                    Console.WriteLine($"{oddities.Count()} oddities found! Adding.");
                    db.AddRange(oddities);
                    await db.SaveChangesAsync();

                    #endregion

                    //Artifact Quirks
                    #region ArtifactQuirkLoad
                    Console.WriteLine("Getting Artifact Quirks from artifactquirks.json");
                    var artifactQuirkStrings = await Data.FileIO.GetFileString("artifactquirks");

                    Console.WriteLine("Parsing Artifacts.");
                    var artifactQuirks = Newtonsoft.Json.JsonConvert.DeserializeObject <List <ArtifactQuirk> >(artifactQuirkStrings);

                    Console.WriteLine($"{artifactQuirks.Count()} artifact quirks found! Adding.");
                    db.AddRange(artifactQuirks);
                    await db.SaveChangesAsync();

                    #endregion
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }
        }