/// <summary>
 /// Initializes a new instance of the <see cref="MyDetailsPresenter"/> class.
 /// </summary>
 /// <param name="myDetailsPage">My details page.</param>
 /// <param name="myDetailsViewModel">My details view model.</param>
 /// <param name="apiClient">The API client.</param>
 public MyDetailsPresenter(IMyDetailsPage myDetailsPage,
                           MyDetailsViewModel myDetailsViewModel,
                           IClient apiClient)
 {
     this.MyDetailsPage      = myDetailsPage;
     this.MyDetailsViewModel = myDetailsViewModel;
     this.ApiClient          = apiClient;
 }
        public virtual MyPagesViewModel Build(MyDetailsViewModel myDetailsPanel)
        {
            var model = Build();

            myDetailsPanel.Countries = model.MyDetailsPanel.Countries;
            model.MyDetailsPanel     = myDetailsPanel;

            return(model);
        }
Пример #3
0
        public ActionResult SaveMyDetails(MyDetailsViewModel myDetailsPanel)
        {
            if (_myPagesViewModelService.IsValidMyDetailsForm(_modelState, myDetailsPanel))
            {
                _myPagesViewModelService.SaveMyDetails(myDetailsPanel);
                return(RedirectToAction(nameof(Index)));
            }

            var model = _myPagesViewModelBuilder.Build(myDetailsPanel);

            model.CurrentTab = MyPagesTabConstants.MyDetails;
            return(View(nameof(Index), model));
        }
        public bool IsValidMyDetailsForm(ModelState modelState, MyDetailsViewModel myDetailsForm)
        {
            var firstNameField = nameof(myDetailsForm.FirstName);
            var lastNameField  = nameof(myDetailsForm.LastName);

            var validationRules = new List <ValidationRuleItem <MyDetailsViewModel> >()
            {
                new ValidationRuleItem <MyDetailsViewModel> {
                    Field = firstNameField, Rule = model => !string.IsNullOrEmpty(model.FirstName), ErrorMessage = "validation.required".AsWebSiteString()
                },
                new ValidationRuleItem <MyDetailsViewModel> {
                    Field = lastNameField, Rule = model => !string.IsNullOrEmpty(model.LastName), ErrorMessage = "validation.required".AsWebSiteString()
                },
            };

            return(myDetailsForm.IsValid(validationRules, modelState));
        }
        /// <summary>
        /// Gets the player.
        /// </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 GetPlayer(String passwordToken,
                                    Guid playerId,
                                    MyDetailsViewModel viewModel,
                                    CancellationToken cancellationToken)
        {
            GetPlayerDetailsResponse apiResponse = await this.PlayerClient.GetPlayer(passwordToken, playerId, cancellationToken);

            viewModel.FirstName         = apiResponse.FirstName;
            viewModel.HasBeenRegistered = apiResponse.HasBeenRegistered;
            viewModel.LastName          = apiResponse.LastName;
            viewModel.MiddleName        = apiResponse.MiddleName;
            viewModel.PlayingHandicap   = apiResponse.PlayingHandicap;
            viewModel.DateOfBirth       = apiResponse.DateOfBirth;
            viewModel.EmailAddress      = apiResponse.EmailAddress;
            viewModel.ExactHandicap     = apiResponse.ExactHandicap;
            viewModel.FullName          = apiResponse.FullName;
            viewModel.Gender            = apiResponse.Gender == "M" ? 0 : 1;
            viewModel.GenderDescription = apiResponse.Gender == "M" ? "Male" : "Female";
            viewModel.HandicapCategory  = apiResponse.HandicapCategory;
        }
 /// <summary>
 /// Initializes the specified view model.
 /// </summary>
 /// <param name="viewModel">The view model.</param>
 public void Init(MyDetailsViewModel viewModel)
 {
     this.BindingContext      = viewModel;
     this.HomeButton.Clicked += this.HomeButton_Clicked;
 }