public static DMAuthorizationType GetDMAuthorizationType(NWPlayer player) { if (!player.IsPlayer && !player.IsDM) { return(DMAuthorizationType.None); } string cdKey = GetPCPublicCDKey(player); AuthorizedDM entity = DataService.AuthorizedDM.GetByCDKeyAndActiveOrDefault(cdKey); if (entity == null) { return(DMAuthorizationType.None); } if (entity.DMRole == 1) { return(DMAuthorizationType.DM); } else if (entity.DMRole == 2) { return(DMAuthorizationType.Admin); } return(DMAuthorizationType.None); }
public void DoAction(NWPlayer user, NWObject target, NWLocation targetLocation, params string[] args) { string name = args[0]; string cdKey = args[1].ToUpper(); var record = DataService.AuthorizedDM.GetByCDKeyAndActiveOrDefault(cdKey); var method = DatabaseActionType.Update; if (record == null) { method = DatabaseActionType.Insert; int id = DataService.AuthorizedDM.GetAll().Max(x => x.ID) + 1; record = new AuthorizedDM { ID = id, CDKey = cdKey }; } record.Name = name; record.DMRole = 1; record.IsActive = true; DataService.SubmitDataChange(record, method); user.SendMessage("DM '" + name + "' has been added successfully."); }
public static DMAuthorizationType GetDMAuthorizationType(NWPlayer player) { if (!player.IsPlayer && !player.IsDM) { return(DMAuthorizationType.None); } string cdKey = GetPCPublicCDKey(player); var adminCDKeySetting = Environment.GetEnvironmentVariable("SWLOR_ADMIN_CD_KEY") ?? string.Empty; if (adminCDKeySetting.ToUpper() == cdKey.ToUpper()) { LogDMAuthorization(player, true); return(DMAuthorizationType.Admin); } AuthorizedDM entity = DataService.AuthorizedDM.GetByCDKeyAndActiveOrDefault(cdKey); if (entity == null) { return(DMAuthorizationType.None); } if (entity.DMRole == 1) { return(DMAuthorizationType.DM); } else if (entity.DMRole == 2) { return(DMAuthorizationType.Admin); } return(DMAuthorizationType.None); }
public void GetByID_OneItem_ReturnsAuthorizedDM() { // Arrange AuthorizedDM entity = new AuthorizedDM { ID = 1 }; // Act MessageHub.Instance.Publish(new OnCacheObjectSet <AuthorizedDM>(entity)); // Assert Assert.AreNotSame(entity, _cache.GetByID(1)); }
public bool IsPCRegisteredAsDM(NWPlayer player) { if (player.IsDM) { return(true); } if (!player.IsPlayer) { return(false); } string cdKey = _.GetPCPublicCDKey(player.Object); AuthorizedDM entity = _data.SingleOrDefault <AuthorizedDM>(x => x.CDKey == cdKey && x.IsActive); return(entity != null); }
public static bool IsPCRegisteredAsDM(NWPlayer player) { if (player.IsDM) { return(true); } if (!player.IsPlayer) { return(false); } string cdKey = _.GetPCPublicCDKey(player.Object); AuthorizedDM entity = DataService.AuthorizedDM.GetByCDKeyAndActiveOrDefault(cdKey); return(entity != null); }
public void GetByID_TwoItems_ReturnsCorrectObject() { // Arrange AuthorizedDM entity1 = new AuthorizedDM { ID = 1 }; AuthorizedDM entity2 = new AuthorizedDM { ID = 2 }; // Act MessageHub.Instance.Publish(new OnCacheObjectSet <AuthorizedDM>(entity1)); MessageHub.Instance.Publish(new OnCacheObjectSet <AuthorizedDM>(entity2)); // Assert Assert.AreNotSame(entity1, _cache.GetByID(1)); Assert.AreNotSame(entity2, _cache.GetByID(2)); }
public void GetByID_RemovedItem_ReturnsCorrectObject() { // Arrange AuthorizedDM entity1 = new AuthorizedDM { ID = 1 }; AuthorizedDM entity2 = new AuthorizedDM { ID = 2 }; // Act MessageHub.Instance.Publish(new OnCacheObjectSet <AuthorizedDM>(entity1)); MessageHub.Instance.Publish(new OnCacheObjectSet <AuthorizedDM>(entity2)); MessageHub.Instance.Publish(new OnCacheObjectDeleted <AuthorizedDM>(entity1)); // Assert Assert.Throws <KeyNotFoundException>(() => { _cache.GetByID(1); }); Assert.AreNotSame(entity2, _cache.GetByID(2)); }
public void GetByID_NoItems_ThrowsKeyNotFoundException() { // Arrange AuthorizedDM entity1 = new AuthorizedDM { ID = 1 }; AuthorizedDM entity2 = new AuthorizedDM { ID = 2 }; // Act MessageHub.Instance.Publish(new OnCacheObjectSet <AuthorizedDM>(entity1)); MessageHub.Instance.Publish(new OnCacheObjectSet <AuthorizedDM>(entity2)); MessageHub.Instance.Publish(new OnCacheObjectDeleted <AuthorizedDM>(entity1)); MessageHub.Instance.Publish(new OnCacheObjectDeleted <AuthorizedDM>(entity2)); // Assert Assert.Throws <KeyNotFoundException>(() => { _cache.GetByID(1); }); Assert.Throws <KeyNotFoundException>(() => { _cache.GetByID(2); }); }