diff options
author | crupest <crupest@outlook.com> | 2019-04-21 22:39:42 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2019-04-21 22:39:42 +0800 |
commit | edac531b7c0bfc40bc9b6f5c6f1abe71f71cd9e0 (patch) | |
tree | 02aceff5fe6a540a1f4b0d4f7253f75cafeb160a /Timeline/Entities/UserInfo.cs | |
parent | a9f248ad817683e911348cd168c570db3d07757f (diff) | |
download | timeline-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.cs | 23 |
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) |