Пример #1
0
 public async Task RemoveItem(Dungeon dungeon, Item item)
 {
     if (dungeon.Rewards.Contains(item))
     {
         dungeon.Rewards.Remove(item);
         await _db.SaveChangesAsync();
     }
 }
Пример #2
0
 public async Task RemoveItem(NPC npc, Item item)
 {
     if (npc.Loot.Contains(item))
     {
         npc.Loot.Remove(item);
         await _db.SaveChangesAsync();
     }
 }
Пример #3
0
        public async Task RemoveRace(Profession profession, Race race)
        {
            if (profession.Races.Any(x => x.RaceId == race.Id))
            {
                var raceToRemove = profession.Races.FirstOrDefault(x => x.RaceId == race.Id);

                profession.Races.Remove(raceToRemove);
                await _db.SaveChangesAsync();
            }
        }
        public async Task RemoveRace_WithData_RemovesFromProfession()
        {
            var options = new DbContextOptionsBuilder <GameInfoContext>()
                          .UseInMemoryDatabase(databaseName: "WithRaceInProf_ForRemoveRace")
                          .Options;

            using (var context = new GameInfoContext(options))
            {
                var profession = new Profession()
                {
                    Name = "ProfWithRace"
                };

                var race = new Race()
                {
                    Name = "RaceWithProf"
                };

                context.Professions.Add(profession);
                context.Races.Add(race);
                await context.SaveChangesAsync();

                var profFromDb = context.Professions.First();
                var raceFromDb = context.Races.First();

                var raceProfession = new RaceProfession()
                {
                    Race         = raceFromDb,
                    RaceId       = raceFromDb.Id,
                    Profession   = profFromDb,
                    ProfessionId = profFromDb.Id
                };

                profFromDb.Races.Add(raceProfession);

                await context.SaveChangesAsync();

                var service = new ProfessionsService(context);
                await service.RemoveRace(profFromDb, raceFromDb);

                Assert.DoesNotContain(raceProfession, profFromDb.Races);
            }
        }
Пример #5
0
 public async Task <int> Commit()
 {
     return(await DbContext.SaveChangesAsync());
 }