public async Task <UserDto> GetUser(string chatApiKey, string battleTag) { var user = await LoadFirst <ChatUser>(c => c.ApiKey == chatApiKey); var userClan = await LoadFirst <ClanMembership>(c => c.Id == battleTag); var userSettings = await LoadFirst <PersonalSetting>(c => c.Id == battleTag); if (user != null) { return(new UserDto( user.Name, user.BattleTag, userClan?.ClanId, userSettings?.ProfilePicture ?? ProfilePicture.Default(), true)); } user = new ChatUser(battleTag); return(new UserDto( user.Name, user.BattleTag, userClan?.ClanId, userSettings?.ProfilePicture ?? ProfilePicture.Default(), false)); }
public UserDto( string name, string battleTag, string clanTag, PersonalSetting personalSettings) { Name = name; BattleTag = battleTag; ClanTag = clanTag; ProfilePicture = personalSettings?.ProfilePicture ?? ProfilePicture.Default(); if (personalSettings != null) { Alias = personalSettings.ChatAlias; Color = personalSettings.ChatColor; } }