public async Task <MainUserModel> GetUserInfoAsync(string screenName) { var user = await _twitterService.GetUserProfileForAsync(new GetUserProfileForOptions { ScreenName = screenName }); var userModel = new MainUserModel { UserTwId = user.Value.Id, FollowersCount = user.Value.FollowersCount, UserTwName = user.Value.Name, ImageUrl = user.Value.ProfileImageUrl, Url = user.Value.Url, IsProtected = user.Value.IsProtected, ScreenName = user.Value.ScreenName, Location = user.Value.Location, FriendsCount = user.Value.FriendsCount, ProfileBackgroundColor = user.Value.ProfileBackgroundColor, ProfileTextColor = user.Value.ProfileTextColor, ProfileLinkColor = user.Value.ProfileLinkColor, ProfileBackgroundImageUrl = user.Value.ProfileBackgroundImageUrl, FavouritesCount = user.Value.FavouritesCount, ListedCount = user.Value.ListedCount, StatusesCount = user.Value.StatusesCount, IsProfileBackgroundTiled = user.Value.IsProfileBackgroundTiled, IsVerified = user.Value.IsVerified, IsGeoEnabled = user.Value.IsGeoEnabled, Language = user.Value.Language, CreatedDate = user.Value.CreatedDate }; return(userModel); }
/// <summary> /// формируем колоду карт для пользователя /// </summary> public static MainUserModel CreateUserPack(int userId, int sessionId) { try { var model = new MainUserModel(); var cards = new List <CardModel>(); var rand = new Random(); var count = 0; var workModel = CardManager.Sessions.FirstOrDefault(a => a.SessionId == sessionId); if (workModel == null) { return(null); } while (count < 4) { // берем карту из общей колоды и отмечаем, что она уже используется while (true) { var num = rand.Next(1, workModel.MainPackModel.Count); var card = workModel.MainPackModel.Cards.First(a => a.Number == num); if (card.Status == CardStatusEnum.Free && card.Type != TypeCardEnum.Boomb && card.Type != TypeCardEnum.Neutralize) { cards.Add(card); workModel.MainPackModel.Cards.First(a => a.Number == num).Status = CardStatusEnum.Active; workModel.MainPackModel.Cards.First(a => a.Number == num).UserId = userId; break; } } count++; } cards.Add(workModel.MainPackModel.Cards.FirstOrDefault(a => a.Status == CardStatusEnum.Free && a.Type == TypeCardEnum.Neutralize)); workModel.MainPackModel.Cards.FirstOrDefault(a => a.Status == CardStatusEnum.Free && a.Type == TypeCardEnum.Neutralize).Status = CardStatusEnum.Active; CardManager.Sessions.First(a => a.SessionId == sessionId).MainPackModel = workModel.MainPackModel; model.Cards = cards; model.Count = count + 1; model.UserId = userId; return(model); } catch (Exception ex) { return(null); } }