Example #1
0
 public override void LoadDataAsync(LoadCommand cmd, LoadDataAsyncParameters cmdParam, Action <PaneViewModelBase> success = null, Action <PaneViewModelBase, Exception> error = null)
 {
     base.LoadDataAsync(cmd, cmdParam, success, error);
     switch (cmd)
     {
     case LoadCommand.Load:
     case LoadCommand.Extract:
     case LoadCommand.Convert:
         WorkHandler.Run(
             () =>
         {
             FileManager.Load((string)cmdParam.Payload);
             return(true);
         },
             result =>
         {
             IsLoaded = true;
             Initialize();
             Drive = Drives.First();
             if (success != null)
             {
                 success.Invoke(this);
             }
         },
             exception =>
         {
             if (error != null)
             {
                 error.Invoke(this, exception);
             }
         });
         break;
     }
 }
 public override void LoadDataAsync(LoadCommand cmd, LoadDataAsyncParameters cmdParam, Action <PaneViewModelBase> success = null, Action <PaneViewModelBase, Exception> error = null)
 {
     base.LoadDataAsync(cmd, cmdParam, success, error);
     switch (cmd)
     {
     case LoadCommand.Load:
         WorkHandler.Run(
             () =>
         {
             _packageContent = (BinaryContent)cmdParam.Payload;
             _stfs           = ModelFactory.GetModel <StfsPackage>(_packageContent.Content);
             return(true);
         },
             result =>
         {
             IsLoaded = true;
             Tabs.Add(new ProfileRebuilderTabItemViewModel(Resx.FileStructure, ParseStfs(_stfs)));
             SelectedTab = Tabs.First();
             if (success != null)
             {
                 success.Invoke(this);
             }
         },
             exception =>
         {
             if (error != null)
             {
                 error.Invoke(this, exception);
             }
         });
         break;
     }
 }
 public override void LoadDataAsync(LoadCommand cmd, LoadDataAsyncParameters cmdParam, Action <PaneViewModelBase> success = null, Action <PaneViewModelBase, Exception> error = null)
 {
     base.LoadDataAsync(cmd, cmdParam, success, error);
     switch (cmd)
     {
     case LoadCommand.Load:
         OpenArchive((string)cmdParam.Payload, success, error);
         break;
     }
 }
Example #4
0
        public override void LoadDataAsync(LoadCommand cmd, LoadDataAsyncParameters cmdParam, Action <PaneViewModelBase> success = null, Action <PaneViewModelBase, Exception> error = null)
        {
            base.LoadDataAsync(cmd, cmdParam, success, error);
            switch (cmd)
            {
            case LoadCommand.Load:
                Initialize();
                SetFavorites();
                var drive = GetDriveFromPath(Settings.Directory);
                if (drive != null)
                {
                    PathCache.Add(drive, Settings.Directory);
                }
                Drive = drive ?? GetDefaultDrive();
                break;

            case LoadCommand.Restore:
                var payload = cmdParam.Payload as BinaryContent;
                if (payload == null)
                {
                    return;
                }
                WorkHandler.Run(
                    () =>
                {
                    File.WriteAllBytes(payload.FilePath, payload.Content);
                    return(true);
                },
                    result =>
                {
                    if (success != null)
                    {
                        success.Invoke(this);
                    }
                },
                    exception =>
                {
                    if (error != null)
                    {
                        error.Invoke(this, exception);
                    }
                });
                break;
            }
        }
        public override void LoadDataAsync(LoadCommand cmd, LoadDataAsyncParameters cmdParam, Action <PaneViewModelBase> success = null, Action <PaneViewModelBase, Exception> error = null)
        {
            base.LoadDataAsync(cmd, cmdParam, success, error);
            switch (cmd)
            {
            case LoadCommand.Load:
                using (var db = _dbContext.Open())
                {
                    Items.AddRange(db.Get <FtpConnection>().Select(c => new FtpConnectionItemViewModel(c)));
                }
                var add = new NewConnectionPlaceholderViewModel();
                Items.Add(add);
                break;

            case LoadCommand.Restore:
                Save(cmdParam.Payload as FtpConnectionItemViewModel);
                ConnectedFtp = null;
                break;
            }
            if (success != null)
            {
                success.Invoke(this);
            }
        }
        public override void LoadDataAsync(LoadCommand cmd, LoadDataAsyncParameters cmdParam, Action <PaneViewModelBase> success = null, Action <PaneViewModelBase, Exception> error = null)
        {
            base.LoadDataAsync(cmd, cmdParam, success, error);
            switch (cmd)
            {
            case LoadCommand.Load:
                WorkHandler.Run(
                    () =>
                {
                    Connection = (FtpConnectionItemViewModel)cmdParam.Payload;
                    return(Connect());
                },
                    result =>
                {
                    IsLoaded         = true;
                    ResumeCapability = result;
                    try
                    {
                        ConnectCallback();
                    }
                    catch (Exception ex)
                    {
                        if (error != null)
                        {
                            error.Invoke(this, new SomethingWentWrongException(Resx.IndetermineFtpConnectionError, ex));
                        }
                        CloseCommand.Execute();
                        return;
                    }
                    if (success != null)
                    {
                        success.Invoke(this);
                    }
                },
                    exception =>
                {
                    if (error != null)
                    {
                        error.Invoke(this, exception);
                    }
                });
                break;

            case LoadCommand.Restore:
                var payload = cmdParam.Payload as BinaryContent;
                if (payload == null)
                {
                    return;
                }
                WorkHandler.Run(
                    () =>
                {
                    //TODO: upload binary
                    //File.WriteAllBytes(payload.TempFilePath, payload.Content);
                    //FileManager.RestoreConnection();
                    //FileManager.UploadFile(payload.FilePath, payload.TempFilePath);
                    return(true);
                },
                    result =>
                {
                    if (success != null)
                    {
                        success.Invoke(this);
                    }
                },
                    exception =>
                {
                    CloseCommand.Execute();
                    if (error != null)
                    {
                        error.Invoke(this, exception);
                    }
                });
                break;
            }
        }
 public virtual void LoadDataAsync(LoadCommand cmd, LoadDataAsyncParameters cmdParam, Action <PaneViewModelBase> success = null, Action <PaneViewModelBase, Exception> error = null)
 {
     Settings = cmdParam.Settings;
     IsLoaded = true;
 }