Ejemplo n.º 1
0
        public async Task <UserProfileOut> GetAsync(Guid userProfileId)
        {
            using (IDBWorker worker = kernel.Get <IDBWorker>())
            {
                UserProfileOut result = new UserProfileOut();


                if (!userProfileId.Equals(Guid.Empty))
                {
                    UserProfileMapper profile = await worker.UserProfileRepository.FindByIdAsync(userProfileId);

                    result = new UserProfileOut
                    {
                        Id         = profile.Id,
                        FirstName  = profile.FirstName,
                        Patronymic = profile.Patronymic,
                        Surname    = profile.Surname
                    };
                }
                return(result);
            }
        }
Ejemplo n.º 2
0
        public async Task <UserProfileOut> Get(Guid id)
        {
            UserProfileOut result = await userProfileService.GetAsync(id);

            return(result);
        }
        private UserProfileOut _getUserProfile(IDbConnection connection, UserDataModel user, int currentUserId, bool setAlliance)
        {
            var planets     = _planetService.GetUserPlanetIds(connection, user.Id);
            var userProfile = new UserProfileOut
            {
                UserId = user.Id,
                Info   = new UserProfileInfo
                {
                    Name   = user.Nickname,
                    Avatar = user.Avatar,
                    Loses  = 0,
                    PersonalDescription = user.Description,
                    PremiumEndTime      = 0,
                    PvpPoint            = user.PvpPoint,
                    Planets             = planets.Count
                },
                Chest = new UserProfileChest()
            };

            userProfile.Info.TopPosition = GetTopPosition(connection, userProfile.UserId, userProfile.Info.PvpPoint);
            var achievements = new UserProfileMeeds();

            achievements.SetMeeds(user.MeedsQuantity);
            userProfile.Achievements = achievements;

            var isCurrentUser = userProfile.UserId == currentUserId;


            if (setAlliance)
            {
                var allianceUser = _allianceService.GetAllianceUserByUserId(connection, user.Id);
                if (allianceUser != null)
                {
                    var allianceDataModel = _allianceService.GetAllianceById(connection, allianceUser.AllianceId, i => i);
                    var allianceRating    = _allianceService.SetAllianceRating(connection, allianceDataModel, false, this);

                    userProfile.Alliance = new UserProfileAlliance((AllianceRatingOut)allianceRating)
                    {
                        IsCurrentUser = isCurrentUser
                    };
                }
            }


            var wins  = -1;
            var loses = -1;


            var reportService = _svp.GetService <IUReportService>();

            reportService.SetLoseAndWin(connection, userProfile.UserId, (outWins) => { wins = outWins; },
                                        (outLoses) => { loses = outLoses; });

            if (wins == -1 || loses == -1)
            {
                throw new NotImplementedException("DataNotSet wins and  loses");
            }
            userProfile.Info.Wins  = wins;
            userProfile.Info.Loses = loses;

            userProfile.SetInitialData(isCurrentUser);
            return(userProfile);
        }