public async Task <IActionResult> DeleteRegistration(int id)
        {
            //TODO На UI переспросить "Вы точно уверены, что хотите удалить регистрацию?"

            var command = new DeleteRegistrationCommand {
                RegistrationId = id
            };
            await HandlerDispatcher.ExecuteCommandAsync(command);

            return(RedirectToAction(nameof(Details), new { id = command.ContestId }));
        }
예제 #2
0
 public async Task Handle_Given_Invalid_EventId_Throws_NotFoundException(int value)
 {
     // Arrange
     var validRegId     = 1;
     var inValidEventId = value;
     var command        = new DeleteRegistrationCommand
     {
         EventId        = inValidEventId,
         RegistrationId = validRegId
     };
     // Act/Assert
     await Assert.ThrowsAsync <NotFoundException>(() => _sut.Handle(command, CancellationToken.None));
 }
예제 #3
0
        public async Task Handle_Given_Valid_Values_Can_Delete_Registration()
        {
            // Arrange
            var validRegId   = 1;
            var validEventId = 3;
            var command      = new DeleteRegistrationCommand
            {
                EventId        = validEventId,
                RegistrationId = validRegId
            };

            // Act
            await _sut.Handle(command, CancellationToken.None);

            // Assert
            var entity = _context.Events.Find(validEventId);

            Assert.Empty(entity.Registrations);
        }