예제 #1
0
        public async Task <IActionResult> OnPostAsync()
        {
            var newGuest = new PlayerDTO();

            if (await _playerService.DoesPlayerExistAsync(ConventionGuest.PlayerId))
            {
                ToastMessage = _locService.GetLocalizedString("Person with that code is already registered!");
                ToastType    = "error";
            }
            else if (await TryUpdateModelAsync <PlayerDTO>(
                         newGuest,
                         "ConventionGuest",
                         p => p.PlayerId, p => p.FirstName, p => p.LastName, p => p.Telephone, p => p.Email, p => p.PersonalNumber, p => p.Address,
                         p => p.City, p => p.PostalCode))
            {
                newGuest.RegistrationTime = DateTime.UtcNow;
                await _playerService.AddNewPlayerAsync(newGuest);

                ToastMessage = _locService.GetLocalizedString("Record added");
                ToastType    = "success";
                _logger.LogWarning($"Guest with id '{newGuest.PlayerId}' was registered by '{User.Identity.Name}'.");
                return(RedirectToPage("./RegisterGuest"));
            }
            return(Page());
        }
예제 #2
0
        public async Task AddNewPlayerAsync_addsNewPlayer()
        {
            // Arrange:
            int id = 1234;
            var mockedPlayersCount = Context.Players.Count();
            var playerDTOtoAdd     = new PlayerDTO {
                PlayerId = id, FirstName = "Test1", LastName = "Tester1"
            };
            var service = new PlayerService(Context, _mapper);

            // Act:
            await service.AddNewPlayerAsync(playerDTOtoAdd);

            // Assert:
            var addedPlayer = await service.GetPlayerAsync(id);

            Assert.Equal(addedPlayer.PlayerId, playerDTOtoAdd.PlayerId);
            Assert.True(await Context.Players.CountAsync() == mockedPlayersCount + 1);
        }