Statistics
| Branch: | Revision:

root / trunk / Pithos.Network / AccountInfo.cs @ df6e9afc

History | View | Annotate | Download (1.4 kB)

1 c53aa229 Panagiotis Kanavos
using System;
2 c92e02f3 Panagiotis Kanavos
using System.Collections.Generic;
3 c53aa229 Panagiotis Kanavos
4 c53aa229 Panagiotis Kanavos
namespace Pithos.Network
5 c53aa229 Panagiotis Kanavos
{
6 c53aa229 Panagiotis Kanavos
    public class AccountInfo
7 c53aa229 Panagiotis Kanavos
    {
8 c53aa229 Panagiotis Kanavos
        public string UserName { get; set; }
9 c53aa229 Panagiotis Kanavos
        public string Token { get; set; }
10 c53aa229 Panagiotis Kanavos
        public Uri StorageUri { get; set; }
11 c53aa229 Panagiotis Kanavos
        
12 c53aa229 Panagiotis Kanavos
        private string _accountPath;
13 c53aa229 Panagiotis Kanavos
        public string AccountPath
14 c53aa229 Panagiotis Kanavos
        {
15 c53aa229 Panagiotis Kanavos
            get { return _accountPath; }
16 c53aa229 Panagiotis Kanavos
            set { _accountPath = value.ToLower(); }
17 c53aa229 Panagiotis Kanavos
        }
18 c53aa229 Panagiotis Kanavos
19 c53aa229 Panagiotis Kanavos
        public int BlockSize { get; set; }
20 c53aa229 Panagiotis Kanavos
21 c53aa229 Panagiotis Kanavos
        public string BlockHash { get; set; }
22 0bd56b7c Panagiotis Kanavos
23 0bd56b7c Panagiotis Kanavos
        public long Quota { get; set; }
24 0bd56b7c Panagiotis Kanavos
25 0bd56b7c Panagiotis Kanavos
        public long BytesUsed { get; set; }
26 0bd56b7c Panagiotis Kanavos
27 0bd56b7c Panagiotis Kanavos
        public string Usage
28 0bd56b7c Panagiotis Kanavos
        {
29 0bd56b7c Panagiotis Kanavos
            get
30 0bd56b7c Panagiotis Kanavos
            {
31 0bd56b7c Panagiotis Kanavos
                var gigabytes = Quota / 1073741824;
32 0bd56b7c Panagiotis Kanavos
                var percentage = BytesUsed / (double)Quota;
33 0bd56b7c Panagiotis Kanavos
                return String.Format("{0:P0} of {1} GB", percentage, gigabytes);
34 0bd56b7c Panagiotis Kanavos
            }
35 0bd56b7c Panagiotis Kanavos
36 0bd56b7c Panagiotis Kanavos
        }
37 0bd56b7c Panagiotis Kanavos
38 0bd56b7c Panagiotis Kanavos
        public string SiteUri { get; set; }
39 c92e02f3 Panagiotis Kanavos
40 c92e02f3 Panagiotis Kanavos
        public List<Group> Groups { get; set; }
41 c92e02f3 Panagiotis Kanavos
    }
42 c92e02f3 Panagiotis Kanavos
43 c92e02f3 Panagiotis Kanavos
    public class Group
44 c92e02f3 Panagiotis Kanavos
    {
45 c92e02f3 Panagiotis Kanavos
        public string Name { get; set; }
46 c92e02f3 Panagiotis Kanavos
47 c92e02f3 Panagiotis Kanavos
        public List<string> Users { get; set; }
48 c92e02f3 Panagiotis Kanavos
49 c92e02f3 Panagiotis Kanavos
        public Group()
50 c92e02f3 Panagiotis Kanavos
        {
51 c92e02f3 Panagiotis Kanavos
            
52 c92e02f3 Panagiotis Kanavos
        }
53 c92e02f3 Panagiotis Kanavos
54 c92e02f3 Panagiotis Kanavos
        public Group(string name,string users)
55 c92e02f3 Panagiotis Kanavos
        {
56 c92e02f3 Panagiotis Kanavos
            Name = name;
57 c92e02f3 Panagiotis Kanavos
58 c92e02f3 Panagiotis Kanavos
            if (String.IsNullOrWhiteSpace(users))
59 c92e02f3 Panagiotis Kanavos
                return;
60 c92e02f3 Panagiotis Kanavos
            Users=new List<string>(users.Split(','));
61 c92e02f3 Panagiotis Kanavos
        }
62 c53aa229 Panagiotis Kanavos
    }
63 c53aa229 Panagiotis Kanavos
}