Revision c92e02f3 trunk/Pithos.Client.WPF/Shell/MessageView.xaml.cs

b/trunk/Pithos.Client.WPF/Shell/MessageView.xaml.cs
5 5
using System.ComponentModel.Composition;
6 6
using System.Linq;
7 7
using System.Linq.Expressions;
8
using System.Net;
8 9
using System.Net.Mail;
9 10
using System.Text;
10 11
using System.Windows;
......
17 18
using System.Windows.Shapes;
18 19
using Caliburn.Micro;
19 20
using Pithos.Client.WPF.Shell;
21
using Pithos.Network;
20 22

  
21 23
namespace Pithos.Client.WPF
22 24
{
......
49 51
            InitializeComponent();            
50 52
        }
51 53

  
54

  
55
        
56
        public MessageView(WebException exception)
57
        {
58
            DataContext = this;
59
            InitializeComponent();
60

  
61
            var messages = new List<UserMessage>();
62
            
63
            if ((exception.Response as HttpWebResponse).StatusCode == HttpStatusCode.Unauthorized)
64
            {
65
                Message = "Your authorization token has expired. Please renew the token and try again ";
66
                Title = "Authorization expired";
67
            }
68
            else
69
            {
70
                messages.Add(new UserMessage
71
                {
72
                    Message = exception.InnerException.Message,
73
                    Details = exception.InnerException.ToString(),
74
                    Severity = Severity.Warn
75
                });
76
                Message = "There was an error while retrieving the item's information";
77
                Title = "Error";
78
            }
79
            UserMessages = new ObservableCollection<UserMessage>(messages);
80
        }
81

  
82
        public MessageView(RetryException exception)
83
        {
84
            DataContext = this;
85
            InitializeComponent();
86

  
87
            var messages = new List<UserMessage>{
88
                new UserMessage{
89
                        Message = exception.InnerException.Message,
90
                        Details = exception.InnerException.ToString(),
91
                        Severity = Severity.Warn
92
                    }
93
            };
94

  
95
            Title = "Network error";
96
            Message = "The connection to the server timed out. Please check your network connection and try again later";                
97

  
98
            UserMessages = new ObservableCollection<UserMessage>(messages);
99
        }
100
        
101
        public MessageView(Exception exception)
102
        {
103
            DataContext = this;
104
            InitializeComponent();
105

  
106
            var messages = new List<UserMessage>{
107
                new UserMessage{
108
                        Message = exception.InnerException.Message,
109
                        Details = exception.InnerException.ToString(),
110
                        Severity = Severity.Warn
111
                    }
112
            };
113

  
114
            Title = "Unexpected error";
115
            Message = "An unexpected error has occured";                
116

  
117
            UserMessages = new ObservableCollection<UserMessage>(messages);
118
        }
119

  
52 120
        /// <summary>
53 121
        /// Copies the messages to the clipboard
54 122
        /// </summary>

Also available in: Unified diff