/// <summary> /// Initializes the specified view model. /// </summary> /// <param name="viewModel">The view model.</param> public void Init(MyMembershipsListViewModel viewModel) { this.BindingContext = viewModel; this.HomeButton.Clicked += this.HomeButton_Clicked; this.RequestClubMembershipButton.Clicked += this.RequestClubMembershipButton_Clicked; this.MembershipsView.SelectionChanged += MembershipsView_SelectionChanged; }
/// <summary> /// Initializes a new instance of the <see cref="MyMembershipsPresenter"/> class. /// </summary> /// <param name="myMembershipsPage">My memberships page.</param> /// <param name="membershipRequestClubListPage">The membership request club list page.</param> /// <param name="myMembershipsListViewModel">My memberships ListView model.</param> /// <param name="myMembershipRequestClubListViewModel">My membership request club ListView model.</param> /// <param name="apiClient">The API client.</param> public MyMembershipsPresenter(IMyMembershipsPage myMembershipsPage, IMyMembershipRequestClubListPage membershipRequestClubListPage, MyMembershipsListViewModel myMembershipsListViewModel, MyMembershipRequestClubListViewModel myMembershipRequestClubListViewModel, IClient apiClient) { this.MyMembershipsPage = myMembershipsPage; this.MembershipRequestClubListPage = membershipRequestClubListPage; this.MyMembershipsListViewModel = myMembershipsListViewModel; this.MyMembershipRequestClubListViewModel = myMembershipRequestClubListViewModel; this.ApiClient = apiClient; }
/// <summary> /// Gets the player memberships. /// </summary> /// <param name="passwordToken">The password token.</param> /// <param name="playerId">The player identifier.</param> /// <param name="viewModel">The view model.</param> /// <param name="cancellationToken">The cancellation token.</param> public async Task GetPlayerMemberships(String passwordToken, Guid playerId, MyMembershipsListViewModel viewModel, CancellationToken cancellationToken) { try { List <ClubMembershipResponse> apiResponse = await this.PlayerClient.GetPlayerMemberships(passwordToken, playerId, cancellationToken); foreach (ClubMembershipResponse clubMembershipResponse in apiResponse) { // Only show accepted memberships if (clubMembershipResponse.Status == MembershipStatus.Accepted) { viewModel.Memberships.Add(new MembershipViewModel { GolfClubId = clubMembershipResponse.GolfClubId, GolfClubName = clubMembershipResponse.GolfClubName, MembershipId = clubMembershipResponse.MembershipId, MembershipNumber = clubMembershipResponse.MembershipNumber, DateJoined = clubMembershipResponse.AcceptedDateTime.Value }); } } } catch (Exception ex) { // Look at the inner exception if (ex.InnerException is KeyNotFoundException) { // Swallow this exception and set the view model list to empty viewModel.Memberships = new ObservableCollection <MembershipViewModel>(); } else { throw; } } }