protected override async Task Handle(UpdateAccommodationCommand request, CancellationToken cancellationToken) { var api = await apiClientFactory.CreateApiClientAsync(); var result = await api.FindFacilityWithHttpMessagesAsync(request.FacilityId); if (result.Response.StatusCode == HttpStatusCode.NotFound) { return; } var accommodation = new Accommodation { Id = request.Id, FacilityId = request.FacilityId, Name = request.Name, Description = request.Description, RoomCount = request.RoomCount, Images = request.Images, FacilityName = result.Body.Name, FacilityDescription = result.Body.Description, FacilityLocation = new Location { Latitude = result.Body.Latitude, Longitude = result.Body.Longitude } }; await searchIndexer.IndexAccommodationAsync(accommodation); }
protected override async Task Handle(UpdateAccommodationCommand request, CancellationToken cancellationToken) { var facility = await FindFacilityAsync(request.FacilityId); if (facility == null) { return; } var accommodation = new Accommodation { Id = request.Id, FacilityId = request.FacilityId, Name = request.Name, Description = request.Description, RoomCount = request.RoomCount, Images = request.Images, FacilityName = facility.Name, FacilityDescription = facility.Description, Location = new Location { Latitude = facility.Latitude, Longitude = facility.Longitude } }; await searchIndexer.IndexAccommodationAsync(accommodation); }
public async Task <Accommodation> CreateAsync(Guid facilityId, AccommodationDetails details) { await facilityService.CheckFacilityAsync(facilityId); details.Images = ImagePathHelper.CleanUp(details.Images); var accommodation = new Accommodation { Id = Guid.NewGuid(), FacilityId = facilityId, Details = details }; await accommodationDataSource.CreateAsync(accommodation); await facilityService.IncrementAccommodationCountAsync(facilityId); var facility = await facilityService.FindAsync(facilityId); await searchIndexer.IndexAccommodationAsync(accommodation, facility); return(accommodation); }