Exemplo n.º 1
0
        public InvalidDownloadStateChangeException(DownloadStateEnum oldState, DownloadStateEnum newState,
                                                   string message) : base(message)
        {
            NewState = newState;

            OldState = oldState;
        }
Exemplo n.º 2
0
        private void ChangeDownloadStateWithPublishEvent(DownloadStateEnum state)
        {
            if (DownloadState == state)
            {
                return;
            }
            var temp = DownloadState;

            DownloadState = state;
            EventAggregator.GetEvent <DownloadStateChangedEvent>().Publish(new DownloadStateChangedEventArgs(FileId, temp, DownloadState));
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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;
        }
Exemplo n.º 5
0
        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;
 }
Exemplo n.º 7
0
 private void _server_DownloadDataCompleted(object sender, System.Net.DownloadDataCompletedEventArgs e)
 {
     DownloadState = DownloadStateEnum.Downloaded;
 }