예제 #1
0
 public void PerformRWOperations()
 {
     if (_person.Role == role.CEO || _person.Role == role.MANAGER)
     {
         folder = new SharedFolder();
         folder.PerformRWOperations();
     }
     else
     {
         Console.WriteLine
             ("You don't have permission to access this folder");
     }
 }
예제 #2
0
 public void PerformRWOperations()
 {
     if (employee.Role.ToUpper() == "CEO" || employee.Role.ToUpper() == "MANAGER")
     {
         folder = new SharedFolder();
         Console.WriteLine("Shared Folder Proxy makes call to the RealFolder 'PerformRWOperations method'");
         folder.PerformRWOperations();
     }
     else
     {
         Console.WriteLine("Shared Folder proxy says 'You don't have permission to access this folder'");
     }
 }
        internal static SharedFolder Load(this ISharedFolder sf, IEnumerable <IRecordMetadata> records,
                                          IEnumerable <ISharedFolderPermission> users, byte[] sharedFolderKey)
        {
            var sharedFolder = new SharedFolder
            {
                Uid  = sf.SharedFolderUid,
                Name = Encoding.UTF8.GetString(CryptoUtils.DecryptAesV1(sf.Name.Base64UrlDecode(), sharedFolderKey)),
                DefaultManageRecords = sf.DefaultManageRecords,
                DefaultManageUsers   = sf.DefaultManageUsers,
                DefaultCanEdit       = sf.DefaultCanEdit,
                DefaultCanShare      = sf.DefaultCanShare,
                SharedFolderKey      = sharedFolderKey,
            };

            if (users != null)
            {
                foreach (var u in users)
                {
                    sharedFolder.UsersPermissions.Add(new SharedFolderPermission
                    {
                        UserId        = u.UserId,
                        UserType      = (UserType)u.UserType,
                        ManageRecords = u.ManageRecords,
                        ManageUsers   = u.ManageUsers
                    });
                }
            }

            if (records != null)
            {
                foreach (var r in records)
                {
                    sharedFolder.RecordPermissions.Add(new SharedFolderRecord
                    {
                        RecordUid = r.RecordUid,
                        CanEdit   = r.CanEdit,
                        CanShare  = r.CanShare
                    });
                }
            }

            return(sharedFolder);
        }
예제 #4
0
 public void ReceiveSharedFolder(ISharedFolder sharedFolder)
 {
     _package = sharedFolder.GetPackage();
 }