public async Task jail_Player(User player, User otherPlayer) { var targetChar = IMongoCollectionExtensions.AsQueryable(Main.database.CharacterCollection) .FirstOrDefault(c => c.playerId == otherPlayer.playerId); var targetJailTime = 0; var targetFine = 0; foreach (var akte in targetChar.Akten) { var dbAkte = Main.database.FileCollection.AsQueryable().FirstOrDefault(x => x.Akten.Any(y => y.AktenId == akte)).Akten.FirstOrDefault(a => a.AktenId == akte); targetJailTime += dbAkte.JailTime; targetFine += dbAkte.Fine; } targetChar.Akten = new List <int>(); otherPlayer.Position = new Position(1729.25f, 2563.642578125f, 45.56489944458008f); otherPlayer.Rotation = new Rotation(0, 0, 174.47164916992188f); targetChar.jailTime = targetJailTime; NotifyHandler.SendNotification(otherPlayer, $"Du befindest dich nun für {targetChar.jailTime} Hafteinheiten im Gefängnis!"); Main.database.CharacterCollection.ReplaceOne(c => c.playerId == otherPlayer.playerId, targetChar); return; }
public void DeleteUser() { CreateUserWithHashedPassword(); Assert.IsTrue(provider.DeleteUser("foo", true)); var count = IMongoCollectionExtensions.AsQueryable(_db.GetCollection <User>(provider.CollectionName)).Count(); Assert.AreEqual(0, count); provider = new MembershipProvider(); CreateUserWithHashedPassword(); // in Mongo, all associated data is stored in same document so // passing true or false to DeleteUser will be the same. Assert.IsTrue(provider.DeleteUser("foo", deleteAllRelatedData: true)); count = _db.GetCollection <User>(provider.CollectionName).AsQueryable().Count(); Assert.AreEqual(0, count); //Assert.IsTrue(Membership.DeleteUser("foo", false)); //table = FillTable("SELECT * FROM my_aspnet_Membership"); //Assert.AreEqual(0, table.Rows.Count); //table = FillTable("SELECT * FROM my_aspnet_Users"); //Assert.AreEqual(1, table.Rows.Count); }