public async Task HandleAsync(UpdateRoomForRentAnnouncementCommand command, CancellationToken cancellationToken = default) { var getRoomForRentAnnouncementResult = await _roomForRentAnnouncementGetterService.GetByIdAsync(command.RoomForRentAnnouncementId); if (!getRoomForRentAnnouncementResult.Success) { throw new ResourceNotFoundException(getRoomForRentAnnouncementResult.Errors); } var cityVerificationResult = await _cityVerificationService.VerifyCityExistsAsync(command.CityId); if (!cityVerificationResult.Success) { throw new ValidationException(cityVerificationResult.Errors); } var cityDistrictsVerificationResult = await _cityDistrictVerificationService.VerifyCityDistrictsExistAsync(command.CityId, command.CityDistricts); if (!cityDistrictsVerificationResult.Success) { throw new ValidationException(cityDistrictsVerificationResult.Errors); } UpdateDetails(getRoomForRentAnnouncementResult.Value, command); UpdateCityDistricts(getRoomForRentAnnouncementResult.Value, command.CityDistricts.ToList()); UpdateRoomTypes(getRoomForRentAnnouncementResult.Value, command.RoomTypes.ToList()); await _roomForRentAnnouncementRepository.UpdateAsync(getRoomForRentAnnouncementResult.Value); }
public async Task VVerifyCityExistsAsync_Should_Return_Verification_Ok() { var cityId = Guid.NewGuid(); var city = new GetCityResponse { Id = cityId, Name = "Name", PolishName = "PolishName" }; var expectedResult = VerificationResult.Ok(); _rivaAdministrativeDivisionApiClientServiceMock.Setup(x => x.GetCityAsync(It.IsAny <Guid>())) .ReturnsAsync(city); var result = await _service.VerifyCityExistsAsync(cityId); result.Should().BeEquivalentTo(expectedResult); }
public async Task HandleAsync(CreateFlatForRentAnnouncementCommand command, CancellationToken cancellationToken = default) { var cityVerificationResult = await _cityVerificationService.VerifyCityExistsAsync(command.CityId); if (!cityVerificationResult.Success) { throw new ValidationException(cityVerificationResult.Errors); } var cityDistrictsVerificationResult = await _cityDistrictVerificationService.VerifyCityDistrictsExistAsync(command.CityId, command.CityDistricts); if (!cityDistrictsVerificationResult.Success) { throw new ValidationException(cityDistrictsVerificationResult.Errors); } var flatForRentAnnouncement = _mapper.Map <CreateFlatForRentAnnouncementCommand, FlatForRentAnnouncement>(command); await _flatForRentAnnouncementRepository.AddAsync(flatForRentAnnouncement); }