public void AddRoleToBlobSet()
        {
            using (TransactionScope ts = new TransactionScope())
            {
                BlobShareDataStoreEntities context = BlobShareDataStoreEntities.CreateInstance();
                BlobSetService setService = new BlobSetService(context);
                BlobSet set = new BlobSet()
                {
                    Name = "Resource Set Test",
                    Description = "Resource Set Test"
                };
                setService.CreateBlobSet(set);

                Role role = CreateRoleForTest("testrole1", context);
                PermissionService service = new PermissionService(context);
                Permission permission = service.GrantPermissionToRoleBlobSet(Privilege.Read, role, set, DateTime.UtcNow.AddDays(1));

                Assert.IsNotNull(permission);
                Assert.AreEqual(role, permission.Roles.First());
                Assert.AreEqual(set, permission.BlobSet);
                Assert.AreEqual((int)Privilege.Read, permission.Privilege);

                IEnumerable<BlobSet> sets = service.GetBlobSetsByRole(role);

                Assert.IsNotNull(sets);
                Assert.AreEqual(1, sets.Count());
                Assert.AreEqual(set.BlobSetId, sets.First().BlobSetId);
            }
        }
Example #2
0
        public void CreateBlobSet(BlobSet blobSet)
        {
            if (blobSet.BlobSetId == Guid.Empty)
            {
                blobSet.BlobSetId = Guid.NewGuid();
            }

            this.context.BlobSets.AddObject(blobSet);
            this.context.SaveChanges();
        }
        public void AddUserToBlobSet()
        {
            using (TransactionScope ts = new TransactionScope())
            {
                BlobShareDataStoreEntities context = BlobShareDataStoreEntities.CreateInstance();
                BlobSetService setService = new BlobSetService(context);
                BlobSet set = new BlobSet()
                {
                    Name = "Resource Set Test",
                    Description = "Resource Set Test"
                };
                setService.CreateBlobSet(set);

                User user = CreateUserForTest("testuser1", context);
                PermissionService service = new PermissionService(context);
                Permission permission = service.GrantPermissionToUserBlobSet(Privilege.Read, user, set, DateTime.UtcNow.AddDays(1));

                Assert.IsNotNull(permission);
                Assert.AreEqual(user, permission.Users.First());
                Assert.AreEqual(set, permission.BlobSet);
                Assert.AreEqual((int)Privilege.Read, permission.Privilege);

                IEnumerable<BlobSet> sets = service.GetBlobSetsByUser(user);

                Assert.IsNotNull(sets);
                Assert.AreEqual(1, sets.Count());
                Assert.AreEqual(set.BlobSetId, sets.First().BlobSetId);

                Assert.IsTrue(service.CheckPermissionToBlobSet(user.NameIdentifier, user.IdentityProvider, set.BlobSetId));
            }
        }
Example #4
0
        public Permission GrantPermissionToUserBlobSet(Privilege privilege, User user, BlobSet set, DateTime expiration)
        {
            var permission = new Permission()
            {
                PermissionId = Guid.NewGuid(),
                Privilege = (int)privilege,
                BlobSet = this.context.BlobSets.Single(rs => rs.BlobSetId == set.BlobSetId),
                CreationDateTime = DateTime.UtcNow,
                ExpirationDateTime = expiration
            };

            permission.Users.Add(this.context.Users.Single(u => u.UserId == user.UserId));
            this.context.Permissions.AddObject(permission);
            this.context.SaveChanges();

            return permission;
        }
Example #5
0
        public Permission GrantPermissionToRoleBlobSet(Privilege privilege, Role role, BlobSet set, DateTime expiration)
        {
            var permission = new Permission()
            {
                PermissionId = Guid.NewGuid(),
                Privilege = (int)privilege,
                BlobSet = set,
                CreationDateTime = DateTime.UtcNow,
                ExpirationDateTime = expiration
            };

            permission.Roles.Add(this.context.Roles.Single(r => r.RoleId == role.RoleId));
            this.context.Permissions.AddObject(permission);
            this.context.SaveChanges();

            return permission;
        }
Example #6
0
 public void CreateEventUserViewBlobSet(string nameIdentifier, string identityProvider, BlobSet set, RequestData request)
 {
     User user = this.userService.RetrieveUserByNameIdentifier(nameIdentifier, identityProvider);
     this.CreateEventUserViewBlobSet(user, set, request);
 }
Example #7
0
 public void CreateEventUserViewBlobSet(string nameIdentifier, string identityProvider, BlobSet set)
 {
     this.CreateEventUserViewBlobSet(nameIdentifier, identityProvider, set, this.GetRequestData());
 }
Example #8
0
        public void CreateEventUserViewBlobSet(User user, BlobSet set, RequestData request)
        {
            BlobSetEvent @event = new BlobSetEvent()
            {
                BlobSetEventId = Guid.NewGuid(),
                EventDateTime = DateTime.UtcNow,
                EventType = (int)EventType.View,
                User = user,
                BlobSet = set
            };

            CompleteBlobSetEvent(@event, request);

            this.context.BlobSetEvents.AddObject(@event);
            this.context.SaveChanges();
        }
Example #9
0
 public void CreateEventUserViewBlobSet(User user, BlobSet set)
 {
     this.CreateEventUserViewBlobSet(user, set, this.GetRequestData());
 }
Example #10
0
 public void UpdateBlobSet(BlobSet set)
 {
     throw new NotImplementedException();
 }
Example #11
0
        private BlobSet GetTestBlobSet(BlobShareDataStoreEntities context)
        {
            BlobSet set = new BlobSet()
            {
                BlobSetId = Guid.NewGuid(),
                Name = "Test Resource Set"
            };

            context.BlobSets.AddObject(set);

            return set;
        }
Example #12
0
        private static BlobSet CreateBlobSetForTest(string name, BlobShareDataStoreEntities context)
        {
            var service = new BlobSetService(context);
            BlobSet entity = new BlobSet()
            {
                Name = name
            };

            service.CreateBlobSet(entity);

            return entity;
        }
Example #13
0
        public ActionResult Create(BlobSetViewModel model)
        {
            if (!this.ModelState.IsValid)
            {
                return this.View(model);
            }

            var blobSet = new BlobSet
            {
                Name = model.Name,
                Description = model.Description
            };

            this.blobSetService.CreateBlobSet(blobSet);

            if (model.AddPermissions)
            {
                return RedirectToAction("Permissions", new { id = blobSet.BlobSetId });
            }
            else
            {
                return RedirectToAction("Details", new { id = blobSet.BlobSetId });
            }
        }
Example #14
0
        public void UpdateBlobSet(BlobSet set)
        {
            var currentBlobSet = this.context.BlobSets.Where(rs => rs.BlobSetId == set.BlobSetId).SingleOrDefault();

            if (currentBlobSet != null)
            {
                currentBlobSet.Name = set.Name;
                currentBlobSet.Description = set.Description;

                this.context.SaveChanges();
            }
            else
            {
                throw new InvalidOperationException("Blob Set does not exist.");
            }
        }
 /// <summary>
 /// Create a new BlobSet object.
 /// </summary>
 /// <param name="blobSetId">Initial value of the BlobSetId property.</param>
 /// <param name="name">Initial value of the Name property.</param>
 public static BlobSet CreateBlobSet(global::System.Guid blobSetId, global::System.String name)
 {
     BlobSet blobSet = new BlobSet();
     blobSet.BlobSetId = blobSetId;
     blobSet.Name = name;
     return blobSet;
 }
 /// <summary>
 /// Deprecated Method for adding a new object to the BlobSets EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
 /// </summary>
 public void AddToBlobSets(BlobSet blobSet)
 {
     base.AddObject("BlobSets", blobSet);
 }