aboutsummaryrefslogtreecommitdiff
path: root/Timeline/Entities/UserInfo.cs
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2019-04-21 22:39:42 +0800
committercrupest <crupest@outlook.com>2019-04-21 22:39:42 +0800
commitedac531b7c0bfc40bc9b6f5c6f1abe71f71cd9e0 (patch)
tree02aceff5fe6a540a1f4b0d4f7253f75cafeb160a /Timeline/Entities/UserInfo.cs
parenta9f248ad817683e911348cd168c570db3d07757f (diff)
downloadtimeline-edac531b7c0bfc40bc9b6f5c6f1abe71f71cd9e0.tar.gz
timeline-edac531b7c0bfc40bc9b6f5c6f1abe71f71cd9e0.tar.bz2
timeline-edac531b7c0bfc40bc9b6f5c6f1abe71f71cd9e0.zip
Remove unnecessary columns in database query.
Diffstat (limited to 'Timeline/Entities/UserInfo.cs')
-rw-r--r--Timeline/Entities/UserInfo.cs23
1 files changed, 15 insertions, 8 deletions
diff --git a/Timeline/Entities/UserInfo.cs b/Timeline/Entities/UserInfo.cs
index a1860552..c9bcde5b 100644
--- a/Timeline/Entities/UserInfo.cs
+++ b/Timeline/Entities/UserInfo.cs
@@ -17,25 +17,32 @@ namespace Timeline.Entities
Roles = roles;
}
- public UserInfo(User user)
+ public static UserInfo Create(User user)
{
if (user == null)
throw new ArgumentNullException(nameof(user));
-
- Username = user.Name;
-
- if (user.RoleString == null)
- Roles = null;
- else
- Roles = user.RoleString.Split(',').Select(r => r.Trim()).ToArray();
+ return Create(user.Name, user.RoleString);
}
+ public static UserInfo Create(string username, string roleString) => new UserInfo
+ {
+ Username = username,
+ Roles = RolesFromString(roleString)
+ };
+
public string Username { get; set; }
public string[] Roles { get; set; }
public static IEqualityComparer<UserInfo> EqualityComparer { get; } = new EqualityComparerImpl();
public static IComparer<UserInfo> Comparer { get; } = Comparer<UserInfo>.Create(Compare);
+ private static string[] RolesFromString(string roleString)
+ {
+ if (roleString == null)
+ return null;
+ return roleString.Split(',').Select(r => r.Trim()).ToArray();
+ }
+
private class EqualityComparerImpl : IEqualityComparer<UserInfo>
{
bool IEqualityComparer<UserInfo>.Equals(UserInfo x, UserInfo y)