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));
            }
        }
Beispiel #2
0
        public void RemoveSet()
        {
            using (TransactionScope ts = new TransactionScope())
            {
                BlobShareDataStoreEntities context = BlobShareDataStoreEntities.CreateInstance();
                BlobSet set  = CreateBlobSetForTest("Test List", context);
                Blob    blob = BlobServicesTests.CreateBlobForTest("Test Resource", context);

                BlobSetService service = new BlobSetService(context);
                service.AddBlobToSet(set.BlobSetId, blob.BlobId);
                BlobSet newList = service.GetBlobSetById(set.BlobSetId);

                Assert.IsNotNull(newList);
                Assert.AreEqual(1, newList.Blobs.Count);

                service.DeleteBlobSet(set.BlobSetId);

                BlobSet deletedList = service.GetBlobSetById(set.BlobSetId);

                Assert.IsNull(deletedList);

                BlobService bservices   = new BlobService(context, CloudStorageAccount.DevelopmentStorageAccount, TestContainerName);
                Blob        newResource = bservices.GetBlobById(blob.BlobId);

                Assert.IsNotNull(newResource);
                Assert.AreEqual(0, newResource.BlobSets.Count);
            }
        }
Beispiel #3
0
        public ActionResult BlobSetActivity(BlobSetActivityViewModel model)
        {
            DateTime fromdate = DateTimeHelper.FromLocalTime(model.FromDate);
            DateTime todate   = DateTimeHelper.FromLocalTime(NormalizeToDate(model.ToDate));

            BlobSet set = null;

            if (!string.IsNullOrEmpty(model.SelectedBlobSetName))
            {
                set = this.blobSetService.GetBlobSetByName(model.SelectedBlobSetName);

                if (set == null)
                {
                    this.ModelState.AddModelError("SelectedBlobSetName", "Unknown Blob Set");
                }
            }

            if (this.ModelState.IsValid)
            {
                var totalPages = 0;
                if (set == null)
                {
                    model.BlobSetEvents = this.reportService.GetBlobSetEvents(fromdate, todate, EventType.View, DefaultPageSize, model.CurrentPage, out totalPages);
                }
                else
                {
                    model.BlobSetEvents = this.reportService.GetBlobSetEventsByBlobSet(fromdate, todate, EventType.View, set.BlobSetId, DefaultPageSize, model.CurrentPage, out totalPages);
                }

                model.TotalPages = totalPages;
            }

            return(View(model));
        }
        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);
            }
        }
Beispiel #5
0
        public void RemoveBlobFromSet(Guid setId, Guid blobId)
        {
            BlobSet set  = this.context.BlobSets.Where(ls => ls.BlobSetId == setId).FirstOrDefault();
            Blob    blob = set.Blobs.Where(br => br.BlobId == blobId).FirstOrDefault();

            set.Blobs.Remove(blob);
            this.context.SaveChanges();
        }
Beispiel #6
0
        public void AddBlobToSet(Guid setId, Guid blobId)
        {
            BlobSet set  = this.context.BlobSets.Where(ls => ls.BlobSetId == setId).FirstOrDefault();
            Blob    blob = this.context.Blobs.Where(r => r.BlobId == blobId).FirstOrDefault();

            set.Blobs.Add(blob);
            this.context.SaveChanges();
        }
Beispiel #7
0
 public static BlobSetViewModel ToViewModel(this BlobSet model)
 {
     return(new BlobSetViewModel
     {
         BlobSetId = model.BlobSetId,
         Description = model.Description,
         Name = model.Name,
     });
 }
Beispiel #8
0
        public void CreateBlobSet(BlobSet blobSet)
        {
            if (blobSet.BlobSetId == Guid.Empty)
            {
                blobSet.BlobSetId = Guid.NewGuid();
            }

            this.context.BlobSets.AddObject(blobSet);
            this.context.SaveChanges();
        }
Beispiel #9
0
        public void AddBlobToSet(Guid setId, string blobName)
        {
            BlobSet set  = this.context.BlobSets.Where(ls => ls.BlobSetId == setId).FirstOrDefault();
            Blob    blob = this.context.Blobs.Where(r => r.Name == blobName).FirstOrDefault();

            if (set != null && blob != null && !set.Blobs.Any(br => br.BlobId == blob.BlobId))
            {
                set.Blobs.Add(blob);
                this.context.SaveChanges();
            }
        }
Beispiel #10
0
        public void AddBlobToSet(string setName, Guid blobId)
        {
            Blob    blob = this.context.Blobs.Where(br => br.BlobId == blobId).FirstOrDefault();
            BlobSet set  = this.context.BlobSets.Where(s => s.Name == setName).FirstOrDefault();

            if (set != null && blob != null && !set.Blobs.Any(br => br.BlobId == blob.BlobId))
            {
                set.Blobs.Add(blob);
                this.context.SaveChanges();
            }
        }
Beispiel #11
0
        private BlobSet GetTestBlobSet(BlobShareDataStoreEntities context)
        {
            BlobSet set = new BlobSet()
            {
                BlobSetId = Guid.NewGuid(),
                Name      = "Test Resource Set"
            };

            context.BlobSets.AddObject(set);

            return(set);
        }
Beispiel #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);
        }
Beispiel #13
0
        public ActionResult GrantUserPermission(Guid id, Guid?selectedUser, int selectedExpiration)
        {
            if (selectedUser.HasValue && !selectedUser.Equals(Guid.Empty) && selectedExpiration > 0)
            {
                User     user       = this.userService.RetrieveUserById(selectedUser.Value);
                BlobSet  set        = this.blobSetService.GetBlobSetById(id);
                DateTime expiration = this.GetExpiration(selectedExpiration);

                this.permissionService.GrantPermissionToUserBlobSet(Privilege.Read, user, set, expiration);
            }

            return(RedirectToAction("Permissions", new { id = id }));
        }
Beispiel #14
0
        public ActionResult GrantRolePermission(Guid id, Guid?selectedRole, int selectedExpiration)
        {
            if (selectedRole.HasValue && !selectedRole.Equals(Guid.Empty) && selectedExpiration > 0)
            {
                Microsoft.Samples.DPE.BlobShare.Data.Model.Role role = this.roleService.GetRoleById(selectedRole.Value);
                BlobSet  set        = this.blobSetService.GetBlobSetById(id);
                DateTime expiration = this.GetExpiration(selectedExpiration);

                this.permissionService.GrantPermissionToRoleBlobSet(Privilege.Read, role, set, expiration);
            }

            return(RedirectToAction("Permissions", new { id = id }));
        }
Beispiel #15
0
 public void CreateEventUserViewBlobSet()
 {
     using (TransactionScope ts = new TransactionScope())
     {
         BlobShareDataStoreEntities context = BlobShareDataStoreEntities.CreateInstance();
         EventService service = new EventService(context);
         User         user    = this.GetTestUser(context);
         BlobSet      set     = this.GetTestBlobSet(context);
         service.CreateEventUserViewBlobSet(user.NameIdentifier, user.IdentityProvider, set);
         Assert.AreEqual(1, user.BlobSetEvents.Count);
         Assert.AreEqual((int)EventType.View, user.BlobSetEvents.First().EventType);
     }
 }
Beispiel #16
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.");
            }
        }
Beispiel #17
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();
        }
Beispiel #18
0
        public void UpdateExistingList()
        {
            using (TransactionScope ts = new TransactionScope())
            {
                BlobShareDataStoreEntities context = BlobShareDataStoreEntities.CreateInstance();
                BlobSet set  = CreateBlobSetForTest("Test List", context);
                Blob    blob = BlobServicesTests.CreateBlobForTest("Test Resource", context);

                BlobSetService service = new BlobSetService(context);
                service.AddBlobToSet(set.Name, blob.BlobId);

                set.Name        = "updated test list";
                set.Description = "updated test description";
                service.UpdateBlobSet(set);

                BlobSet newSet = service.GetBlobSetById(set.BlobSetId);

                Assert.IsNotNull(newSet);
                Assert.AreEqual(1, newSet.Blobs.Count);
                Assert.AreEqual(set.Name, newSet.Name);
                Assert.AreEqual(set.Description, newSet.Description);
            }
        }
Beispiel #19
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 }));
            }
        }
Beispiel #20
0
 public void CreateEventUserViewBlobSet(string nameIdentifier, string identityProvider, BlobSet set)
 {
     this.CreateEventUserViewBlobSet(nameIdentifier, identityProvider, set, this.GetRequestData());
 }
Beispiel #21
0
 public void CreateEventUserViewBlobSet(User user, BlobSet set)
 {
     this.CreateEventUserViewBlobSet(user, set, this.GetRequestData());
 }
Beispiel #22
0
        public void CreateEventUserViewBlobSet(string nameIdentifier, string identityProvider, BlobSet set, RequestData request)
        {
            User user = this.userService.RetrieveUserByNameIdentifier(nameIdentifier, identityProvider);

            this.CreateEventUserViewBlobSet(user, set, request);
        }
Beispiel #23
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);
        }
Beispiel #24
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);
        }
Beispiel #25
0
 public void UpdateBlobSet(BlobSet set)
 {
     throw new NotImplementedException();
 }