public void CutEntity(DiskEntity selectedEntity)
 {
     if (selectedEntity.GetType().Equals(typeof(File)))
     {
         _copiedOrCutedEntity = selectedEntity;
     }
 }
 private DiskEntity DetermineIcon(DiskEntity entity)
 {
     if (entity.GetType().Equals(typeof(Folder)))
     {
         entity.Icon = new BitmapImage(new Uri("/Resources/Images/folder.png", UriKind.Relative));
     }
     else
     {
         if (((File)entity).ContentType.StartsWith("application"))
         {
             entity.Icon = new BitmapImage(new Uri("/Resources/Images/applicationFile.png", UriKind.Relative));
         }
         else if (((File)entity).ContentType.StartsWith("audio"))
         {
             entity.Icon = new BitmapImage(new Uri("/Resources/Images/audioFile.png", UriKind.Relative));
         }
         else if (((File)entity).ContentType.StartsWith("image"))
         {
             entity.Icon = new BitmapImage(new Uri("/Resources/Images/imageFile.png", UriKind.Relative));
         }
         else if (((File)entity).ContentType.StartsWith("text"))
         {
             entity.Icon = new BitmapImage(new Uri("/Resources/Images/textFile.png", UriKind.Relative));
         }
         else if (((File)entity).ContentType.StartsWith("video"))
         {
             entity.Icon = new BitmapImage(new Uri("/Resources/Images/videoFile.png", UriKind.Relative));
         }
         else
         {
             entity.Icon = new BitmapImage(new Uri("/Resources/Images/unknownFile.png", UriKind.Relative));
         }
     }
     return(entity);
 }
 public Uri GetAnonymousShareLink(DiskEntity selectedEntity)
 {
     if (selectedEntity.GetType().Equals(typeof(Folder)))
     {
         return(_folderApi.GetAnonymousShareLink(selectedEntity as Folder));
     }
     else
     {
         return(_fileApi.GetAnonymousShareLink(selectedEntity as File));
     }
 }
 public void UpdateLocalEntity(DiskEntity entity)
 {
     if (entity.GetType().Equals(typeof(File)))
     {
         using (var store = IsolatedStorageFile.GetUserStoreForApplication())
         {
             string oldName          = (entity as File).Path.Split('~').Last();
             string finalDestination = (entity as File).Path.Replace(oldName, entity.Name);
             store.MoveFile((entity as File).Path, finalDestination);
             GetLocalEntities();
         }
     }
 }
        public async void ShareEntity(DiskEntity selectedEntity, string recipientEmail, string permissionString)
        {
            PermissionRight permission = (PermissionRight)Enum.Parse(typeof(PermissionRight), permissionString);

            if (selectedEntity.GetType().Equals(typeof(Folder)))
            {
                var result = await _folderApi.ShareFolder(selectedEntity as Folder, recipientEmail, permission, _user.Token);
            }
            else
            {
                var result = await _fileApi.ShareFile(selectedEntity as File, recipientEmail, permission, _user.Token);
            }
        }
 public void DeleteLocalEntity(DiskEntity selectedLocalEntity)
 {
     if (selectedLocalEntity.GetType().Equals(typeof(File)))
     {
         using (var store = IsolatedStorageFile.GetUserStoreForApplication())
         {
             store.DeleteFile((selectedLocalEntity as File).Path);
         }
     }
     else
     {
         // No folders in local storage, I'm lazy
     }
     LocalEntities.Remove(selectedLocalEntity);
 }
 public static DiskEntity CreateDiskEntity()
 {
     var entity = new DiskEntity
     {
         Name = Helper.GetUniqueName()
     };
     var disk = ((Disk) entity.Geometry);
     disk.Loops = 2;
     disk.InnerRadius = 1.2;
     disk.OuterRadius = 3.4;
     disk.StartAngle = 10.2;
     disk.SweepAngle = 20.3;
     SetTransformation(((IHasObjectSpace) entity.Geometry), 2, 3, 4);
     return entity;
 }
Exemple #8
0
        public static DiskEntity CreateDiskEntity()
        {
            var entity = new DiskEntity
            {
                Name = Helper.GetUniqueName()
            };
            var disk = ((Disk)entity.Geometry);

            disk.Loops       = 2;
            disk.InnerRadius = 1.2;
            disk.OuterRadius = 3.4;
            disk.StartAngle  = 10.2;
            disk.SweepAngle  = 20.3;
            SetTransformation(((IHasObjectSpace)entity.Geometry), 2, 3, 4);
            return(entity);
        }
        public async void DeleteEntity(DiskEntity selectedEntity)
        {
            var entity = Entities.Where(e => e.Id.Equals(selectedEntity.Id)).FirstOrDefault();

            if (entity.GetType().Equals(typeof(File)))
            {
                bool result = await _fileApi.DeleteFile(entity as File, _user.Token);
            }
            else
            {
                bool result = await _folderApi.DeleteFolder(entity as Folder, _user.Token);
            }
            // If it's true the entity has just been removed
            // If it's false it means the entity has already been removed
            // So in both cases we remove it from the list
            Entities.Remove(entity);
        }
        public async void GetSharedUsers(DiskEntity selectedEntity)
        {
            if (selectedEntity.GetType().Equals(typeof(Folder)))
            {
                List <Permission> whyCantIDoItInOnlyOneStep = await _folderApi.GetSharedUsers(selectedEntity as Folder, _user.Token);

                Permissions.Clear();
                foreach (var permission in whyCantIDoItInOnlyOneStep)
                {
                    Permissions.Add(permission);
                }
            }
            else
            {
                List <Permission> whyCantIDoItInOnlyOneStep = await _fileApi.GetSharedUsers(selectedEntity as File, _user.Token);

                Permissions = new ObservableCollection <Permission>(whyCantIDoItInOnlyOneStep);
            }
        }
        public async void UpdateEntity(DiskEntity entity)
        {
            DiskEntity newEntity = null;

            if (entity.GetType().Equals(typeof(Folder)))
            {
                newEntity = await _folderApi.UpdateFolder(entity as Folder, _user.Token);
            }
            else
            {
                newEntity = await _fileApi.UpdateFile(entity as File, _user.Token);
            }
            if (newEntity != null)
            {
                newEntity = DetermineIcon(newEntity);
                int index = Entities.IndexOf(Entities.Where(e => e.Id.Equals(entity.Id)).FirstOrDefault());
                Entities.RemoveAt(index);
                Entities.Insert(index, newEntity);
            }
        }
 public void SelectLocalEntity(DiskEntity selectedEntity)
 {
     SelectedLocalEntity = LocalEntities.Where(e => e.CreationDate.Equals(selectedEntity.CreationDate)).FirstOrDefault();
 }
 public void SelectEntity(DiskEntity selectedEntity)
 {
     SelectedEntity = Entities.Where(e => e.Id.Equals(selectedEntity.Id)).FirstOrDefault();
 }