Esempio n. 1
0
        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);
            }
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        private KillStat CreateKillStat(int playerId, int mobId, int quantity)
        {
            var killStat = new KillStat
            {
                PlayerId = playerId,
                MobId    = mobId,
                Quantity = quantity
            };

            return(killStat);
        }
Esempio n. 6
0
        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));
            }
        }
Esempio n. 7
0
        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));
            }
        }
Esempio n. 8
0
 private void SetUp()
 {
     killStat          = new();
     killStat.Quantity = 0;
 }