private void MatchActions(ResourceClaim dbResource, string expectedResourceName, bool[] expectedCrudArray) { dbResource.Name.ShouldBe(expectedResourceName); dbResource.Create.ShouldBe(expectedCrudArray[0]); dbResource.Read.ShouldBe(expectedCrudArray[1]); dbResource.Update.ShouldBe(expectedCrudArray[2]); dbResource.Delete.ShouldBe(expectedCrudArray[3]); }
internal ResourceClaimVm(ResourceClaim view = null) { if (view == null) { return; } _id = view.Id; _resourceId = view.ResourceId; _createDate = view.CreateDate; _updateDate = view.UpdateDate; ClaimName = view.ClaimName; }
public ClientResourceAccessClaimVm(ClientResourceAccessClaim view = null, ResourceClaim claim = null) { if (view == null) { return; } _id = view.Id; _clientResourceAccessId = view.ClientResourceAccessId; _resourceClaimId = view.ResourceClaimId; _claimName = claim.ClaimName; Access = view.Access; }
/// <summary> /// Use to update the database record. /// </summary> /// <param name="view">Resource Claim</param> /// <returns>ResourceClaim</returns> internal virtual ResourceClaim ToEntity(ResourceClaim view = null) { if (view == null) { view = new ResourceClaim(); } view.ClaimName = ClaimName; if (_createDate != new DateTime()) { view.UpdateDate = DateTime.UtcNow; } return(view); }
protected IReadOnlyCollection <ResourceClaim> SetupResourceClaims(Application testApplication, int resourceClaimCount = 5, int childResourceClaimCount = 3) { var parentResourceClaims = new List <ResourceClaim>(); var childResourceClaims = new List <ResourceClaim>(); var actions = new List <Action>(); foreach (var parentIndex in Enumerable.Range(1, resourceClaimCount)) { var resourceClaim = new ResourceClaim { ClaimName = $"TestParentResourceClaim{parentIndex}", DisplayName = $"TestParentResourceClaim{parentIndex}", ResourceName = $"TestParentResourceClaim{parentIndex}", Application = testApplication }; parentResourceClaims.Add(resourceClaim); childResourceClaims.AddRange(Enumerable.Range(1, childResourceClaimCount) .Select(childIndex => new ResourceClaim { ClaimName = $"TestChildResourceClaim{childIndex}", DisplayName = $"TestChildResourceClaim{childIndex}", ResourceName = $"TestChildResourceClaim{childIndex}", Application = testApplication, ParentResourceClaim = resourceClaim, ParentResourceClaimId = resourceClaim.ResourceClaimId })); } foreach (var action in ActionName.GetAll()) { var actionObject = new Action { ActionName = action.Value, ActionUri = action.Value }; actions.Add(actionObject); } Save(parentResourceClaims.Cast <object>().ToArray()); Save(childResourceClaims.Cast <object>().ToArray()); Save(actions.Cast <object>().ToArray()); return(parentResourceClaims); }
public void OnNotifyResourceClaimLost(Actor self, ResourceClaim claim, Actor claimer) { if (self == claimer) return; // Our claim on a resource was stolen, find more unclaimed resources: self.CancelActivity(); self.QueueActivity(new FindResources()); }
internal static void SetDefault(ResourceManagerDbContext context) { var currDate = DateTime.UtcNow; /*----------------------------------------------------------------- * INSERT / UPDATE : Member Resource Manager * ------------------------------------------------------------------*/ var member = new Resource() { Name = "Member Resource", CreateDate = currDate, UpdateDate = currDate, Settings = new ResourceSettings() { Status = ResourceStatus.Live }, Type = ResourceType.Member }; context.Resource.AddOrUpdate(e => e.Name, member); context.SaveChanges(); /*----------------------------------------------------------------- * INSERT / UPDATE : Member Resource Manager Settings * -----------------------------------------------------------------*/ var read = new ResourceClaim() { ResourceId = member.Id, ClaimName = MemberClaim.Read, CreateDate = currDate, UpdateDate = currDate }; var write = new ResourceClaim() { ResourceId = member.Id, ClaimName = MemberClaim.Write, CreateDate = currDate, UpdateDate = currDate }; var create = new ResourceClaim() { ResourceId = member.Id, ClaimName = MemberClaim.Create, CreateDate = currDate, UpdateDate = currDate }; var delete = new ResourceClaim() { ResourceId = member.Id, ClaimName = MemberClaim.Delete, CreateDate = currDate, UpdateDate = currDate }; context.ResourceClaim.AddOrUpdate(e => e.ClaimName, read, write, create, delete); context.SaveChanges(); /*----------------------------------------------------------------- * INSERT / UPDATE : Client Admin * ------------------------------------------------------------------*/ var client = new Client() { Name = "Member Resource Admin Client", OwnerId = 0, CreateDate = currDate, UpdateDate = currDate }; context.Client.AddOrUpdate(e => e.Name, client); context.SaveChanges(); var clientKey = new ClientKey() { ClientId = client.Id, APIKey = "509e567218264608a91aa11213892886", APISecret = "2ed65ad45ca8486a8ff781122e06702f", Status = ClientKeyStatus.Open, CreateDate = currDate, UpdateDate = currDate }; context.ClientKey.AddOrUpdate(e => e.ClientId, clientKey); context.SaveChanges(); /*----------------------------------------------------------------- * INSERT / UPDATE : Client Admin Data Access * ------------------------------------------------------------------*/ var clientDataAccess = new ClientResourceAccess() { ResourceKey = "6132c038ff0146f09a4e2dfab03a28aa", ClientId = client.Id, ResourceId = member.Id, ResourceValue = 0, Status = ClientResourceAccessStatus.Allow, CreateDate = currDate, UpdateDate = currDate }; context.ClientResourceAccess.AddOrUpdate(e => e.ClientId, clientDataAccess); context.SaveChanges(); /*----------------------------------------------------------------- * INSERT / UPDATE : Client Admin Data Access Claims * ------------------------------------------------------------------*/ context.ClientResourceAccessClaim.AddOrUpdate(e => e.ResourceClaimId, new ClientResourceAccessClaim() { ClientResourceAccessId = clientDataAccess.Id, ResourceClaimId = read.Id, Access = ClientResourceClaimsAccess.Allow }, new ClientResourceAccessClaim() { ClientResourceAccessId = clientDataAccess.Id, ResourceClaimId = write.Id, Access = ClientResourceClaimsAccess.Allow }, new ClientResourceAccessClaim() { ClientResourceAccessId = clientDataAccess.Id, ResourceClaimId = create.Id, Access = ClientResourceClaimsAccess.Allow }, new ClientResourceAccessClaim() { ClientResourceAccessId = clientDataAccess.Id, ResourceClaimId = delete.Id, Access = ClientResourceClaimsAccess.Allow }); context.SaveChanges(); }
private static bool HaveValidActions(ResourceClaim resourceClaim) { return(resourceClaim.Create || resourceClaim.Delete || resourceClaim.Read || resourceClaim.Update); }
private static bool NotHaveDuplicates(IEnumerable <ResourceClaim> existingResourceClaims, ResourceClaim resourceClaim) { return(existingResourceClaims == null || !existingResourceClaims.Contains(resourceClaim)); }