2 /* -----------------------------------------------------------------------
3 * <copyright file="AccountInfo.cs" company="GRNet">
5 * Copyright 2011-2012 GRNET S.A. All rights reserved.
7 * Redistribution and use in source and binary forms, with or
8 * without modification, are permitted provided that the following
11 * 1. Redistributions of source code must retain the above
12 * copyright notice, this list of conditions and the following
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.
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.
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.
39 * -----------------------------------------------------------------------
43 using System.Collections.Generic;
45 namespace Pithos.Network
47 public class AccountInfo
49 public string UserName { get; set; }
50 public string Token { get; set; }
51 public Uri StorageUri { get; set; }
55 get{return new Uri(StorageUri,"../" + UserName);}
58 private string _accountPath;
59 public string AccountPath
61 get { return _accountPath; }
62 set { _accountPath = value.ToLower(); }
65 public int BlockSize { get; set; }
67 public string BlockHash { get; set; }
69 public long Quota { get; set; }
71 public long BytesUsed { get; set; }
77 var gigabytes = Quota / 1073741824;
78 var percentage = BytesUsed / (double)Quota;
79 return String.Format("{0:P0} of {1} GB", percentage, gigabytes);
84 private string _siteUri;
87 get { return _siteUri; }
94 public List<Group> Groups { get; set; }
100 public string Name { get; set; }
102 public List<string> Users { get; set; }
109 public Group(string name,string users)
113 if (String.IsNullOrWhiteSpace(users))
115 Users=new List<string>(users.Split(','));