Пример #1
0
        public void CanInsertPermaban()
        {
            var options = Utility.CreateNewContextOptions(nameof(CanInsertPermaban));

            using (var context = new HubContext(options))
            {
                (var admin, var banTarget) = PrepareDatabase(context);
                var service = new BanService(context);

                var banAddModel = new BanAddModel(TimeSpan.FromDays(150),
                                                  context.Players.Single(x => x.Id == banTarget.Id), "Griefer", "byond://discordia.space:2011", true,
                                                  admin, banTarget.Ip, banTarget.Cid);

                service.AddBan(banAddModel);

                var ban = context.Bans.FirstOrDefault();

                Assert.NotNull(ban);
                Assert.Equal(ban.BannedById, admin.Id);
                Assert.Equal(ban.TargetId, banTarget.Id);
                Assert.Equal(ban.Duration, banAddModel.Duration.Minutes);
                Assert.Equal(ban.Server, banAddModel.Server);
                Assert.Equal(ban.Reason, banAddModel.BanReason);
                Assert.Equal(ban.Type, BanType.Permaban);
                Assert.Null(ban.Job);
            }
        }
Пример #2
0
        public void AddBan(BanAddModel model)
        {
            var ban = new Ban
            {
                BannedById     = model.BannedBy.Id,
                Cid            = model.Cid,
                Duration       = model.Duration.Minutes,
                ExpirationTime = DateTime.Now + model.Duration,
                Server         = model.Server,
                Reason         = model.BanReason,
                TargetId       = model.BanTarget.Id,
                Ip             = model.Ip,
                Time           = DateTime.Now,
                Unbanned       = false,
                Type           = model.Permaban ? BanType.Permaban : BanType.Tempban
            };

            _db.Bans.Add(ban);
            _db.SaveChanges();
        }