コード例 #1
0
        /// <summary>
        /// Creates the golf club.
        /// </summary>
        /// <param name="accessToken">The access token.</param>
        /// <param name="viewModel">The view model.</param>
        /// <param name="cancellationToken">The cancellation token.</param>
        public async Task CreateGolfClub(String accessToken,
                                         CreateGolfClubViewModel viewModel,
                                         CancellationToken cancellationToken)
        {
            // Translate view model to request
            CreateGolfClubRequest createGolfClubRequest = this.ModelFactory.ConvertFrom(viewModel);

            await this.GolfClubClient.CreateGolfClub(accessToken, createGolfClubRequest, cancellationToken);
        }
コード例 #2
0
        /// <summary>
        /// Converts from.
        /// </summary>
        /// <param name="viewModel">The view model.</param>
        /// <returns></returns>
        public CreateGolfClubRequest ConvertFrom(CreateGolfClubViewModel viewModel)
        {
            CreateGolfClubRequest createGolfClubRequest = new CreateGolfClubRequest
            {
                AddressLine1        = viewModel.AddressLine1,
                Region              = viewModel.Region,
                Town                = viewModel.Town,
                Website             = viewModel.Website,
                Name                = viewModel.Name,
                TelephoneNumber     = viewModel.TelephoneNumber,
                EmailAddress        = viewModel.EmailAddress,
                AddressLine2        = viewModel.AddressLine2,
                PostalCode          = viewModel.PostalCode,
                TournamentDivisions = new List <TournamentDivisionRequest>()
            };

            return(createGolfClubRequest);
        }
コード例 #3
0
        public async Task <IActionResult> CreateGolfClub(CreateGolfClubViewModel model,
                                                         CancellationToken cancellationToken)
        {
            // Validate the model
            if (this.ValidateModel(model))
            {
                String accessToken = await this.HttpContext.GetTokenAsync("access_token");

                // All good with model, call the client to create the golf club
                await this.ApiClient.CreateGolfClub(accessToken, model, cancellationToken);

                // GOlf Club Created, redirect to the Club Details screen
                return(this.RedirectToAction(nameof(this.ManageGolfClub)));
            }

            // If we got this far, something failed, redisplay form
            return(this.View(model));
        }
コード例 #4
0
        public void ModelFactory_ConvertFrom_CreateGolfClubViewModel_ConvertedSuccessfully()
        {
            ModelFactory factory = new ModelFactory();

            CreateGolfClubViewModel viewModel = ModelFactoryTestData.GetCreateGolfClubViewModel();

            CreateGolfClubRequest request = factory.ConvertFrom(viewModel);

            request.AddressLine1.ShouldBe(viewModel.AddressLine1);
            request.Region.ShouldBe(viewModel.Region);
            request.Town.ShouldBe(viewModel.Town);
            request.Website.ShouldBe(viewModel.Website);
            request.Name.ShouldBe(viewModel.Name);
            request.TelephoneNumber.ShouldBe(viewModel.TelephoneNumber);
            request.EmailAddress.ShouldBe(viewModel.EmailAddress);
            request.AddressLine2.ShouldBe(viewModel.AddressLine2);
            request.PostalCode.ShouldBe(viewModel.PostalCode);
            request.TournamentDivisions.ShouldBeEmpty();
        }
コード例 #5
0
 /// <summary>
 /// Validates the model.
 /// </summary>
 /// <param name="model">The model.</param>
 /// <returns></returns>
 private Boolean ValidateModel(CreateGolfClubViewModel model)
 {
     return(this.ModelState.IsValid);
 }