public static async Task SaveUnidentifiedArtifactAsync(UnidentifiedArtifact unidentifiedArtifact) { using (var db = new CypherContext()) { db.UnidentifiedArtifacts.Add(unidentifiedArtifact); await db.SaveChangesAsync(); } }
public static async Task <List <UnidentifiedCypher> > GetAllUnidentifiedCyphersAsync() { using (var db = new CypherContext()) { var cyList = await db.UnidentifiedCyphers.ToListAsync(); return(cyList); } }
public static async Task SaveUnidentifiedCypherAsync(UnidentifiedCypher unidentifiedCypher) { using (var db = new CypherContext()) { db.UnidentifiedCyphers.Add(unidentifiedCypher); await db.SaveChangesAsync(); } }
public static async Task <List <Cypher> > GetAllCyphersAsync() { using (var db = new CypherContext()) { var cyList = await db.Cyphers.Include(x => x.EffectOptions).Include(x => x.Forms).ToListAsync(); return(cyList); } }
public static async Task <List <ArtifactQuirk> > GetAllArtifactQuirksAsync() { using (var db = new CypherContext()) { var artList = await db.ArtifactQuirks.ToListAsync(); return(artList); } }
public static async Task <List <UnidentifiedArtifact> > GetAllUnidentifiedArtifactsAsync() { using (var db = new CypherContext()) { var artifacts = await db.UnidentifiedArtifacts.ToListAsync(); return(artifacts); } }
public static async Task <List <Oddity> > GetAllOdditysAsync() { using (var db = new CypherContext()) { var oddList = await db.Oddities.ToListAsync(); return(oddList); } }
static async Task Main(string[] args) { var builder = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json", false, true) .AddJsonFile("secrets.json", true, true); Configuration = builder.Build(); // Use this if you want App_Data off your project root folder string baseDir = Directory.GetCurrentDirectory(); AppDomain.CurrentDomain.SetData("DataDirectory", System.IO.Path.Combine(baseDir, "DataFiles")); discord = new DiscordClient(new DiscordConfiguration { Token = Environment.GetEnvironmentVariable("DiscordAPIKey") ?? Configuration["token"], TokenType = TokenType.Bot, UseInternalLogHandler = true, LogLevel = LogLevel.Debug }); commands = discord.UseCommandsNext(new CommandsNextConfiguration { StringPrefix = Configuration["commandPrefix"], CaseSensitive = false }); commands.RegisterCommands <Commands.DiceCommands>(); commands.RegisterCommands <Commands.CypherCommands>(); commands.RegisterCommands <Commands.AdminCommands>(); interactivity = discord.UseInteractivity(new InteractivityConfiguration() { }); //Initialize the database and migrate on start. var db = new CypherContext(); db.Database.Migrate(); if (Configuration["appInitialize"].ToLower() == "true") { Console.WriteLine("Initializing the database."); await Utilities.DatabaseHelper.InitializeDatabaseAsync(); Console.WriteLine("Database Initialized, please set the appInitialize flag in appsettings.json to false in order to stop the database from being overridden again."); System.Threading.Thread.Sleep(3000); } await discord.ConnectAsync(); await Task.Delay(-1); }
public static async Task SaveCurrentCharacterAsync(string playerId, Character charToSave) { using (var db = new CypherContext()) { var chr = db.Characters .Include(x => x.Cyphers) .Include(x => x.Inventory) .Include(x => x.RecoveryRolls) .FirstOrDefault(x => x.CharacterId == charToSave.CharacterId); if (chr == null) { db.Characters.Add(charToSave); } else { db.Entry(chr).CurrentValues.SetValues(charToSave); foreach (var cy in chr.Cyphers) { if (!charToSave.Cyphers.Any(x => x.CypherId == cy.CypherId)) { db.Remove(cy); } } foreach (var inv in chr.Inventory) { if (!charToSave.Inventory.Any(x => x.InventoryId == inv.InventoryId)) { db.Remove(inv); } } foreach (var roll in chr.RecoveryRolls) { if (!charToSave.RecoveryRolls.Any(x => x.RecoveryRollId == roll.RecoveryRollId)) { db.Remove(roll); } } } try { await db.SaveChangesAsync(); } catch (Exception ex) { Console.WriteLine(ex.Message); throw; } } }
public static async Task RemoveUnidentifiedCypherAsync(int unidentifiedCypherID) { using (var db = new CypherContext()) { var uCypherToRemove = new UnidentifiedCypher() { UnidentifiedCypherId = unidentifiedCypherID }; db.UnidentifiedCyphers.Remove(uCypherToRemove); await db.SaveChangesAsync(); } }
public static async Task <List <Character> > GetCurrentPlayersCharactersAsync(CommandContext ctx) { using (var db = new CypherContext()) { var chars = await db.Characters .Include(x => x.Cyphers) .Include(x => x.Inventory) .Include(x => x.RecoveryRolls).Where(x => x.Player == ctx.Member.Username + ctx.Member.Discriminator).ToListAsync(); return(chars); } }
public static async Task RemoveUnidentifiedArtifactAsync(int unidentifiedArtifactID) { using (var db = new CypherContext()) { var uArtifactToRemove = new UnidentifiedArtifact() { UnidentifiedArtifactId = unidentifiedArtifactID }; db.UnidentifiedArtifacts.Remove(uArtifactToRemove); await db.SaveChangesAsync(); } }
/// <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); } } }
public CreaturesController(CypherContext context) { _context = context; }
/// <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); } } }
public CharacterController(CypherContext cypherContext) { this.cypherContext = cypherContext; }