public async Task Load(params string[] s) { string name = string.Join(" ", s); if (string.IsNullOrEmpty(name)) { var characterString = "```yaml" + Environment.NewLine + "\u200b"; var animaChars = CharacterRepository.Characters.OfType <AnimaCharacter>().Where(x => x.Player == Context.Message.Author.Mention); if (animaChars.Any()) { characterString += "Anima:" + Environment.NewLine; foreach (AnimaCharacter character in animaChars) { characterString += " " + character.Name + " - LVL " + character.Level + (character.IsCurrent ? " (loaded)" : "") + Environment.NewLine; } } var lChars = CharacterRepository.Characters.OfType <L5RCharacter>().Where(x => x.Player == Context.Message.Author.Mention); if (lChars.Any()) { characterString += "Legend of the five Rings:" + Environment.NewLine; foreach (var character in lChars) { characterString += " " + character.Name + " - " + character.Clan + (character.IsCurrent ? " (loaded)" : "") + Environment.NewLine; } } characterString += "```"; await Context.Message.DeleteAsync(); await Context.Channel.SendMessageAsync("List of playable characters :" + Environment.NewLine + characterString); } else { PlayableCharacter character = null; try { CharacterRepository.Characters.Where(x => x.Player == Context.Message.Author.Mention).ToList().ForEach(x => x.IsCurrent = false); character = CharacterRepository.Find <PlayableCharacter>(Context.Message.Author.Mention, name); character.IsCurrent = true; //await (Context.Message.Author as IGuildUser).ModifyAsync(x => x.Nickname = character.Name); } catch (InvalidOperationException ex) { await Context.Channel.SendMessageAsync("Error 404: Character not found!"); throw; } //catch (Exception) //{ // await Context.Channel.SendMessageAsync("Nickname could not be changed for " + Context.Message.Author.Mention); //} await Context.Message.DeleteAsync(); await Context.Channel.SendMessageAsync($"Character : {character.Name} successfully loaded !"); } }
public async Task DeleteCharacter(params string[] s) { _ = Context.Message.DeleteAsync(); string expr = string.Join(' ', s); PlayableCharacter character = CharacterRepository.Find <PlayableCharacter>(Context.Message.Author.Mention, expr); if (character == null) { await Context.Channel.SendMessageAsync("Error 404: Character not found or currently loaded!"); return; } try { CharacterRepository.DeleteExcelCharacter(character); } catch (Exception ex) { await Context.Channel.SendMessageAsync($"Erreur lors de la suppression du fichier.{Environment.NewLine}{ex.Message}"); throw; } await Context.Channel.SendMessageAsync("Suppression effectuée."); }
public void Find_given_id_exists_returns_dto() { var builder = new DbContextOptionsBuilder <FuturamaContext>() .UseInMemoryDatabase(databaseName: nameof(Find_given_id_exists_returns_dto)); var options = builder.Options; using (var context = new FuturamaContext(options)) { var entity = new Character { Name = "Fry", Species = "Human", Planet = "Earth", Actor = new Actor { Name = "Billy West" } }; context.Characters.Add(entity); context.SaveChanges(); } using (var context = new FuturamaContext(options)) { var repository = new CharacterRepository(context); var character = repository.Find(1); Assert.Equal(1, character.Id); Assert.Equal("Fry", character.Name); Assert.Equal("Human", character.Species); Assert.Equal("Earth", character.Planet); Assert.Equal(1, character.ActorId); Assert.Equal("Billy West", character.ActorName); } }
public void Find_given_42_returns_character() { using (var repository = new CharacterRepository(_context)) { var dto = repository.Find(1); Assert.Equal("Fry", dto.Name); Assert.Equal("Billy West", dto.ActorName); Assert.Equal(1, dto.NumberOfEpisodes); } }
public void PullOutPersistedCharacter() { var characterRepository = new CharacterRepository(); var frank = new Character(); var key = "fff"; characterRepository.Save(frank, key); var found = characterRepository.Find(key); Assert.AreEqual(frank, found); }
public void Find_given_id_exists_returns_dto_with_episodeCount() { var builder = new DbContextOptionsBuilder <FuturamaContext>() .UseInMemoryDatabase(databaseName: nameof(Find_given_id_exists_returns_dto_with_episodeCount)); var options = builder.Options; int id; using (var context = new FuturamaContext(options)) { var episode1 = new Episode { Title = "Space Pilot 3000" }; var episode2 = new Episode { Title = "The Series Has Landed" }; var character = new Character { EpisodeCharacters = new[] { new EpisodeCharacter { Episode = episode1 }, new EpisodeCharacter { Episode = episode2 } } }; context.Characters.Add(character); context.SaveChanges(); id = character.Id; } using (var context = new FuturamaContext(options)) { var repository = new CharacterRepository(context); var dto = repository.Find(id); Assert.Equal(2, dto.NumberOfEpisodes); } }