private async Task GetParametersForChallenge()
        {
            var user = new User();
            var currentSeasonReponse = new SeasonResponse();
            var currentChallenges    = new GetCurrentChallengesResponse();
            var myTrophies           = new GetThophiesByUserIdResponse();

            user = await CacheAccess.GetSecure <User>(CacheKeys.USER_KEY);

            try
            {
                currentSeasonReponse = await _seasonAppService.CurrentSeason();
            }
            catch
            {}
            await CheckRegisterChallengeCompleted(myTrophies.Trophies, user.UsuarioId.ToString(), currentChallenges.Challenges, currentSeasonReponse.Entity);
        }
Пример #2
0
        private async void GoToCurrentChallengesPage()
        {
            var parameters = new NavigationParameters();

            CanExecuteInitial();
            await NavigationHelper.ShowLoading();

            var  season     = new SeasonResponse();
            bool isSuccess  = true;
            var  challenges = new GetCurrentChallengesResponse();

            try
            {
                season = await _seasonAppService.CurrentSeason();

                challenges = await _challengesAppService.GetCurrentChallenges(season.Entity.TemporadaId.ToString());
            }
            catch
            {
                UserDialogs.Instance.Toast("Não foi possível obter os desafios, verifique sua conexâo", new TimeSpan(0, 0, 3));
                isSuccess = false;
            }
            finally
            {
                challenges = SelectActualChallenges.Select(challenges);
                if (isSuccess && challenges.Challenges.Count > 0)
                {
                    parameters.Add(NavigationKeyParameters.CurrentChallenges, challenges.Challenges);
                    parameters.Add(NavigationKeyParameters.CurrentSeason, season.Entity);
                    await _navigationService.NavigateAsync(NavigationSettings.CurrentChallenges, parameters);
                }
                else
                {
                    UserDialogs.Instance.Toast("Não possuimos desafios ativos no momento!", new TimeSpan(0, 0, 3));
                }
            }
            await NavigationHelper.PopLoading();

            CanExecuteEnd();
        }
Пример #3
0
        public override async void OnNavigatedTo(NavigationParameters parameters)
        {
            base.OnNavigatedTo(parameters);
            try
            {
                var user = await CacheAccess.GetSecure <User>(CacheKeys.USER_KEY);

                var token = await CacheAccess.GetSecure <Guid>(CacheKeys.ACCESS_TOKEN);

                var currentSeasonReponse = await _seasonAppService.CurrentSeason();

                var currentClients = await _clientsAppService.GetClientsByUserId(user.UsuarioId.ToString());

                var myTrophies = await _trophyAppService.GetCurrentTrophies(user.UsuarioId.ToString());

                await CacheAccess.Insert <List <Client> >(CacheKeys.CLIENTS, currentClients.Clients);

                var currentChallenges = await _challengesAppService.GetCurrentChallenges(currentSeasonReponse.Entity.TemporadaId.ToString());

                localBirthdays = await CheckAnniversary();

                Settings.AccessToken = token.ToString();
                Settings.UserId      = user.UsuarioId.ToString();
                await CheckInviteChallengeCompleted(myTrophies.Trophies, user.UsuarioId.ToString(), currentChallenges.Challenges, currentSeasonReponse.Entity);

                await _navigationService.NavigateAsync(NavigationSettings.MenuPrincipal);
            }
            catch
            {
                Settings.AccessToken = string.Empty;
                Settings.UserId      = string.Empty;
                await _navigationService.NavigateAsync(NavigationSettings.AbsoluteLogin);
            }
            finally
            {
            }
        }