private DownloadingFile(INetDiskUser owner, INetDiskFile file, IDownloader downloader)
 {
     Owner              = owner;
     File               = file;
     DownloadInfo       = downloader;
     BindableDownloader = downloader.ToBindable(Application.Current.Dispatcher);
     Operations         = downloader.AsManaged("any-drive"); // TODO: To const.
     ArddFilePath       = $"{downloader.Context.LocalPath}{Constants.DownloadInfoFileExtension}";
 }
 private DownloadingFile(INetDiskUser owner, INetDiskFile file, IDownloader downloader)
 {
     Owner              = owner;
     File               = file;
     DownloadInfo       = downloader;
     BindableDownloader = downloader.ToBindable(Application.Current.Dispatcher);
     Operations         = downloader.AsManaged("net-disk"); // TODO: To const.
     ArddFilePath       = $"{downloader.Context.LocalPath}.ardd";
 }
Example #3
0
        public static TaskDatabase GetDatabaseByUser(INetDiskUser userMounted)
        {
            if (_list.Any(v => v.Name == userMounted.UserName))
            {
                return(_list.FirstOrDefault(v => v.Name == userMounted.UserName));
            }

            var db = new TaskDatabase(userMounted);

            return(db);
        }
        public static bool SetCurrentNetDiskUser(this IAcceleriderUser @this, INetDiskUser value)
        {
            Guards.ThrowIfNull(@this);

            if (EqualityComparer <INetDiskUser> .Default.Equals(_extendedMembers.CurrentNetDiskUser, value))
            {
                return(false);
            }

            _extendedMembers.CurrentNetDiskUser = value;
            RaisePropertyChanged();
            return(true);
        }
        public static bool RemoveNetDiskUser(this IAcceleriderUser @this, INetDiskUser value)
        {
            Guards.ThrowIfNull(@this);

            var result = _extendedMembers.NetDiskUsers.RemoveAll(item => item.Id == value.Id) > 0;

            if (result)
            {
                @this.SaveToLocalDisk();
                RaisePropertyChanged();
            }
            return(result);
        }
Example #6
0
        public static TaskManager GetTaskManagerByLocalDiskUser(INetDiskUser user)
        {
            lock (Manager)
            {
                if (!Manager.ContainsKey(user.UserName))
                {
                    Manager.Add(user.UserName,
                                new TaskManager());
                }
            }

            return(Manager[user.UserName]);
        }
Example #7
0
        public static Task <bool> AddNetDiskUserAsync(this IAcceleriderUser @this, INetDiskUser user)
        {
            Guards.ThrowIfNull(@this);
            var list = _cache.NetDiskUsers.ToList();

            if (list.Any(v => v.Id == user.Id))
            {
                return(Task.FromResult(false));
            }
            list.Add(user);
            _cache.NetDiskUsers = list;
            _cache.Save(DataFile);
            return(Task.FromResult(true));
        }
        public static bool AddNetDiskUser(this IAcceleriderUser @this, INetDiskUser value)
        {
            Guards.ThrowIfNull(@this);

            if (_extendedMembers.NetDiskUsers.Any(item => item.Id == value.Id))
            {
                return(false);
            }

            _extendedMembers.NetDiskUsers.Add(value);
            @this.SaveToLocalDisk();

            if (@this.GetCurrentNetDiskUser() == null)
            {
                @this.SetCurrentNetDiskUser(value);
            }

            RaisePropertyChanged();
            return(true);
        }
Example #9
0
 public TaskDatabase(INetDiskUser user)
 {
     _user = user;
     Reload();
 }
Example #10
0
 public static void SetCurrentNetDiskUser(this IAcceleriderUser @this, INetDiskUser value)
 {
     Guards.ThrowIfNull(@this);
     _cache.CurrentNetDiskUser = value;
 }
 public static IDownloadingFile Create(INetDiskUser owner, INetDiskFile file, IDownloader downloader)
 {
     return(new DownloadingFile(owner, file, downloader));
 }
Example #12
0
 protected virtual void OnCurrentNetDiskUserChanged(INetDiskUser value)
 {
 }
Example #13
0
 public static void SetCurrentNetDiskUser(this IAcceleriderUser @this, INetDiskUser value)
 {
     CheckNullObject(@this);
     _cache.CurrentNetDiskUser = value;
 }
Example #14
0
        public static Task <bool> RemoveNetDiskUserAsync(this IAcceleriderUser @this, INetDiskUser user)
        {
            CheckNullObject(@this);
            if (_cache.NetDiskUsers.All(v => v.Id != user.Id))
            {
                return(Task.FromResult(false));
            }
            var list = _cache.NetDiskUsers.ToList();

            list.RemoveAll(v => v.Id == user.Id);
            _cache.NetDiskUsers = list;
            _cache.Save(DataFile);
            return(Task.FromResult(true));
        }
Example #15
0
        public static IDownloadingFile ToDownloadingFile(this string jsonText, Action <IDownloaderBuilder> configure, INetDiskUser owner)
        {
            var data = jsonText.ToObject <SerializedData>();

            var file    = data.File;
            var builder = FileTransferService.GetDownloaderBuilder();

            configure(builder);
            var downloader = builder.Build(data.DownloadInfo.ToString());

            return(DownloadingFile.Create(owner, file, downloader));
        }