public InvalidDownloadStateChangeException(DownloadStateEnum oldState, DownloadStateEnum newState, string message) : base(message) { NewState = newState; OldState = oldState; }
private void ChangeDownloadStateWithPublishEvent(DownloadStateEnum state) { if (DownloadState == state) { return; } var temp = DownloadState; DownloadState = state; EventAggregator.GetEvent <DownloadStateChangedEvent>().Publish(new DownloadStateChangedEventArgs(FileId, temp, DownloadState)); }
private bool CheckArgs(DownloadStateEnum oldState, DownloadStateEnum newState) { if (oldState == DownloadStateEnum.Canceled || oldState == DownloadStateEnum.Completed || oldState == DownloadStateEnum.Faulted || newState == DownloadStateEnum.Created) { return(false); } return((StateChangeRule[oldState] & newState) == newState); }
public DownloadStateChangedEventArgs(long fileId, DownloadStateEnum oldState, DownloadStateEnum newState) { #if DEBUG if (!CheckArgs(oldState, newState)) { throw new InvalidDownloadStateChangeException(oldState, newState, $"{oldState} can not be converted to {newState}."); } #endif FileId = fileId; OldState = oldState; NewState = newState; }
private void btnAction_Click(object sender, EventArgs e) { switch (DownloadState) { case DownloadStateEnum.Available: _server.DownloadData(WebAddress, AppDomain.CurrentDomain.BaseDirectory + "Handouts/" + _id + " - " + Title); DownloadState = DownloadStateEnum.Downloading; break; case DownloadStateEnum.Downloading: _server.CancelAsync(); DownloadState = DownloadStateEnum.Available; break; case DownloadStateEnum.Downloaded: System.Diagnostics.Process.Start(AppDomain.CurrentDomain.BaseDirectory + "Handouts/" + _id + " - " + Title); break; } }
public StateChangedArgs(DownloadStateEnum oldState, DownloadStateEnum newState) { this.OldState = oldState; this.NewState = newState; }
private void _server_DownloadDataCompleted(object sender, System.Net.DownloadDataCompletedEventArgs e) { DownloadState = DownloadStateEnum.Downloaded; }