public ParkingInfo GetParkingInfo(string parkingName) { var query = new GetParkingInfoQuery { ParkingName = parkingName }; return(_queryHandler.Handle(query)); }
public async Task Should_GetParkingInfo() { // Arrange var LHandleParkingInfo = new GetParkingInfoQueryHandler(FMainDbContext); var LRequest = new GetParkingInfoQuery { ParkingName = "Poznan Plaza" }; // Act var LResult = await LHandleParkingInfo.Handle(LRequest, CancellationToken.None); // Assert LResult.Name.Should().Be("Poznan Plaza"); LResult.IsOpened.Should().BeFalse(); }
public ParkingInfo Handle(GetParkingInfoQuery query) { var parking = _dbContext.Set <Models.Parking>() .Include(p => p.Places) .FirstOrDefault(p => p.Name == query.ParkingName); if (parking == null) { throw new Exception($"Cannot find parking '{query.ParkingName}'."); } return(new ParkingInfo { Name = parking.Name, IsOpened = parking.IsOpened, MaximumPlaces = parking.Places.Count, AvailablePlaces = parking.IsOpened ? parking.Places.Count(pp => pp.IsFree) : 0 }); }