public Session(Fiddler.Session session, Core core) { fSession = session; fSession.OnStateChanged += (x, stateChangeEventArgs) => { State = (int)stateChangeEventArgs.newState; }; score = core; CmdAbortSession = new SimpleCommand <Session>() { ExecuteDelegate = (oS) => { oS.fSession.Abort(); }, CanExecuteDelegate = (oS) => { if (oS == null) { return(false); } return(oS.fSession.state != SessionStates.Aborted); } }; CmdDownloadSession = new AwaitableDelegateCommand( executeMethod: () => { return(Task.Run(() => { //DownloadQueueProcessor dq = new DownloadQueueProcessor(); DownloadQueueProcessor.Initialize(this); DownloadQueueProcessor.Start(this, Config.MaxParallel); //score.SegmentedDownload(oS); })); }, canExecuteMethod: () => { return(true); } ); CmdRefreshSession = new SimpleCommand <Session>() { ExecuteDelegate = (oS) => { oS.NotifyPropertyChanged("Size"); }, CanExecuteDelegate = (oS) => { return(true); } }; CmdXSession = new SimpleCommand <Session>() { ExecuteDelegate = (oS) => { }, CanExecuteDelegate = (oS) => { return(true); } }; }
public DownloadQueueItem() { ProgressTimer = new DispatcherTimer(); ProgressTimer.Interval = new TimeSpan(200); ProgressTimer.Tick += ProgressTimerCallback; PropertyChanged += DownloadQueueItem_PropertyChanged; CmdAbortQItem = new SimpleCommand { CanExecuteDelegate = (x) => { return(true); }, ExecuteDelegate = (x) => { Session.Abort(); } }; CmdDownloadQItem = new SimpleCommand <DownloadQueueItem> { CanExecuteDelegate = (x) => { return(Processed == false); }, ExecuteDelegate = (x) => { DownloadQueueProcessor.Start(this.DSession, this); } }; }