public void Save_SavesCreateKillStat() { //arrange using var contextFactory = new Project2ContextFactory(); using Project2Context arrangeActContext = contextFactory.CreateContext(); Player insertedPlayer = CreatePlayer(null); LootTable insertedLootTable = CreateLootTable(); arrangeActContext.Players.Add(insertedPlayer); arrangeActContext.LootTables.Add(insertedLootTable); arrangeActContext.SaveChanges(); Mob insertedMob = CreateMob(insertedLootTable.Id); arrangeActContext.Mobs.Add(insertedMob); arrangeActContext.SaveChanges(); var repo = new PlayerRepository(arrangeActContext); repo.UpdateKillStat(insertedPlayer.Id, insertedMob.Id); //act repo.Save(); //assert using var assertContext = contextFactory.CreateContext(); KillStat killStat = assertContext.KillStats.Single(k => k.PlayerId == insertedPlayer.Id && k.MobId == insertedMob.Id); Assert.InRange(killStat.Id, 1, 10000); Assert.Equal(insertedPlayer.Id, killStat.PlayerId); Assert.Equal(insertedMob.Id, killStat.MobId); Assert.Equal(1, killStat.Quantity); }
public void UpdateKillStat(int playerId, int mobId) { List <KillStat> currentEntityList = _context.KillStats .Select(ks => ks) .Where(ks => ks.PlayerId == playerId && ks.MobId == mobId) .ToList(); if (currentEntityList.Count == 0) { var newEntity = new KillStat { PlayerId = playerId, MobId = mobId, Quantity = 1 }; _context.Add(newEntity); } else { var currentEntity = currentEntityList[0]; var newEntity = new KillStat { Id = currentEntity.Id, PlayerId = playerId, MobId = mobId, Quantity = currentEntity.Quantity + 1 }; _context.Entry(currentEntity).CurrentValues.SetValues(newEntity); } }
public void UpdateKillStat_CreatesNewKillStat() { //arrange using var contextFactory = new Project2ContextFactory(); using Project2Context context = contextFactory.CreateContext(); Player insertedPlayer = CreatePlayer(null); LootTable insertedLootTable = CreateLootTable(); context.Players.Add(insertedPlayer); context.LootTables.Add(insertedLootTable); context.SaveChanges(); Mob insertedMob = CreateMob(insertedLootTable.Id); context.Mobs.Add(insertedMob); context.SaveChanges(); var repo = new PlayerRepository(context); //act repo.UpdateKillStat(insertedPlayer.Id, insertedMob.Id); //assert KillStat killStat = context.KillStats.Local.Single(k => k.PlayerId == insertedPlayer.Id && k.MobId == insertedMob.Id); Assert.Equal(insertedPlayer.Id, killStat.PlayerId); Assert.Equal(insertedMob.Id, killStat.MobId); Assert.Equal(1, killStat.Quantity); }
public void GetKillStats_GetsExistingKillStats() { //arrange using var contextFactory = new Project2ContextFactory(); using Project2Context context = contextFactory.CreateContext(); Player insertedPlayer = CreatePlayer(null); LootTable insertedLootTable = CreateLootTable(); context.Players.Add(insertedPlayer); context.LootTables.Add(insertedLootTable); context.SaveChanges(); Mob insertedMob = CreateMob(insertedLootTable.Id); context.Mobs.Add(insertedMob); context.SaveChanges(); KillStat insertedKillStat = CreateKillStat(insertedPlayer.Id, insertedMob.Id, 10); context.KillStats.Add(insertedKillStat); context.SaveChanges(); var repo = new PlayerRepository(context); //act List <Business.Model.KillStat> killStats = repo.GetKillStats(insertedPlayer.Id).ToList(); //assert Assert.Equal(insertedKillStat.Id, killStats[0].Id); Assert.Equal(insertedKillStat.PlayerId, killStats[0].PlayerId); Assert.Equal(insertedKillStat.MobId, killStats[0].MobId); Assert.Equal(insertedKillStat.Quantity, killStats[0].Quantity); }
private KillStat CreateKillStat(int playerId, int mobId, int quantity) { var killStat = new KillStat { PlayerId = playerId, MobId = mobId, Quantity = quantity }; return(killStat); }
public ActionResult KillStatAjax(string channel) { ViewBag.channel = channel; var killStats = new KillStat(); try { var user = ContextService.GetUserFromChannelname(channel); var bcs = ContextService.GetBotChannelSettings(user); return(Json(new { kills = bcs.KillStats.Kills, deaths = bcs.KillStats.Deaths, squad = bcs.KillStats.SquadKills }, JsonRequestBehavior.AllowGet)); } catch (Exception e) { ViewBag.Error = e.Message; return(Json(new { kills = killStats.Kills, deaths = killStats.Deaths, squad = killStats.SquadKills }, JsonRequestBehavior.AllowGet)); } }
public ActionResult KillStat(string channel, bool?dark = false) { ViewBag.channel = channel; ViewBag.DarkCss = dark; var killStats = new KillStat(); try { var user = ContextService.GetUserFromChannelname(channel); var bcs = ContextService.GetBotChannelSettings(user); return(View(bcs.KillStats)); } catch (Exception e) { ViewBag.Error = e.Message; return(View(killStats)); } }
private void SetUp() { killStat = new(); killStat.Quantity = 0; }