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; } }
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; }