Statistics
| Branch: | Revision:

root / trunk / Pithos.Client.WPF / Preferences / AccountViewModel.cs @ 31c97141

History | View | Annotate | Download (3.7 kB)

1
#region
2
/* -----------------------------------------------------------------------
3
 * <copyright file="AccountViewModel.cs" company="GRNet">
4
 * 
5
 * Copyright 2011-2012 GRNET S.A. All rights reserved.
6
 *
7
 * Redistribution and use in source and binary forms, with or
8
 * without modification, are permitted provided that the following
9
 * conditions are met:
10
 *
11
 *   1. Redistributions of source code must retain the above
12
 *      copyright notice, this list of conditions and the following
13
 *      disclaimer.
14
 *
15
 *   2. Redistributions in binary form must reproduce the above
16
 *      copyright notice, this list of conditions and the following
17
 *      disclaimer in the documentation and/or other materials
18
 *      provided with the distribution.
19
 *
20
 *
21
 * THIS SOFTWARE IS PROVIDED BY GRNET S.A. ``AS IS'' AND ANY EXPRESS
22
 * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
23
 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
24
 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GRNET S.A OR
25
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
26
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
27
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
28
 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
29
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
31
 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32
 * POSSIBILITY OF SUCH DAMAGE.
33
 *
34
 * The views and conclusions contained in the software and
35
 * documentation are those of the authors and should not be
36
 * interpreted as representing official policies, either expressed
37
 * or implied, of GRNET S.A.
38
 * </copyright>
39
 * -----------------------------------------------------------------------
40
 */
41
#endregion
42
using Caliburn.Micro;
43
using Pithos.Interfaces;
44

    
45
namespace Pithos.Client.WPF.Preferences
46
{
47
    /// <summary>
48
    /// ViewModel wrapper for an account
49
    /// </summary>
50
    public class AccountViewModel:PropertyChangedBase
51
    {
52

    
53
        private readonly AccountSettings _account;
54
        
55
        public AccountSettings Account
56
        {
57
            get { return _account; }
58
        }
59

    
60
        public AccountViewModel(AccountSettings account)
61
        {
62
            _account = account;            
63
        }
64

    
65

    
66
        public string AccountName
67
        {
68
            get {
69
                return _account.AccountName;
70
            }
71
            set {
72
                _account.AccountName = value;
73
                NotifyOfPropertyChange(()=>AccountName);
74
            }
75
        }
76

    
77
        public string RootPath
78
        {
79
            get { return _account.RootPath; }
80
            set 
81
            { 
82
                _account.RootPath = value;
83
                NotifyOfPropertyChange(()=>RootPath);
84
            }
85
        }
86

    
87
        public bool IsActive
88
        {
89
            get { return _account.IsActive; }
90
            set
91
            { 
92
                _account.IsActive = value;
93
                NotifyOfPropertyChange(()=>IsActive);
94
            }
95
        }
96

    
97
        public bool IsExpired
98
        {
99
            get { return _account.IsExpired; }
100
            set 
101
            { 
102
                _account.IsExpired = value;
103
                NotifyOfPropertyChange(()=>IsExpired);
104
            }
105
        }
106

    
107
        public string ServerUrl
108
        {
109
            get { return _account.ServerUrl; }
110
            set 
111
            { 
112
                _account.ServerUrl = value;
113
                NotifyOfPropertyChange(()=>ServerUrl);
114
            }
115
        }
116

    
117
        public string ApiKey
118
        {
119
            get { return _account.ApiKey; }
120
            set 
121
            {
122
                _account.ApiKey = value;
123
                NotifyOfPropertyChange(() => ApiKey);
124
            }
125
        }
126

    
127

    
128
    }
129
}