Ejemplo n.º 1
0
        public void OpenParking(string parkingName)
        {
            var command = new OpenParkingCommand {
                ParkingName = parkingName
            };

            _commandHandler.Handle(command);
        }
Ejemplo n.º 2
0
        public async Task Should_OpenParking()
        {
            // Arrange
            var LHandleOpenParking = new OpenParkingCommandHandler(FMockDbContext.Object, FCommands);
            var LCommand           = new OpenParkingCommand
            {
                ParkingName = "Poznan Plaza"
            };

            // Act
            var LResult = await LHandleOpenParking.Handle(LCommand, CancellationToken.None);

            // Assert
            FMockDbContext
            .Verify(AMockDbContext => AMockDbContext.SaveChangesAsync(CancellationToken.None), Times.Once);

            LResult.ToString().Should().Be("()");
        }
        public void Handle(OpenParkingCommand command)
        {
            var parking = _dbContext.Set <Models.Parking>()
                          .FirstOrDefault(p => p.Name == command.ParkingName);

            if (parking == null)
            {
                throw new Exception($"Cannot find parking '{command.ParkingName}'.");
            }
            if (parking.IsOpened)
            {
                throw new Exception($"Parking '{command.ParkingName}' is already opened.");
            }

            parking.IsOpened = true;
            _dbContext.SaveChanges();

            _commandStoreService.Push(command);
        }