public async Task CreateAsync(Guid facilityId, AccommodationDetails details) { var api = await apiClientFactory.CreateApiClientAsync(); var result = await api.CreateAccommodationWithHttpMessagesAsync(facilityId, mapper.MapFrom(details)); if (result.Response.StatusCode == HttpStatusCode.NotFound) { throw new FacilityNotFoundException(facilityId); } }
public async Task UpdateAsync(int accommodationId, AccommodationDetails details) { var api = await apiClientFactory.CreateApiClientAsync(); var result = await api.UpdateAccommodationWithHttpMessagesAsync(accommodationId, mapper.ToUpdateCommand(details)); if (result.Response.StatusCode == HttpStatusCode.NotFound) { throw new AccommodationNotFoundException(accommodationId); } }
public async Task UpdateAsync(Guid accommodationId, AccommodationDetails details) { var result = await partitionClientFactory.CreatePartitionClient().InvokeWithRetryAsync(async client => { var api = await client.CreateApiClient(); return(await api.UpdateAccommodationWithHttpMessagesAsync(accommodationId, mapper.MapFrom(details))); }); if (result.Response.StatusCode == HttpStatusCode.NotFound) { throw new AccommodationNotFoundException(accommodationId); } }
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); }
public async Task <Accommodation> UpdateAsync(Guid accommodationId, AccommodationDetails details) { var accommodation = await accommodationDataSource.FindAsync(accommodationId); if (accommodation == null) { throw new AccommodationNotFoundException(accommodationId); } var facility = await facilityService.FindAsync(accommodation.FacilityId); if (facility == null) { throw new FacilityNotFoundException(accommodation.FacilityId); } details.Images = ImagePathHelper.Merge(accommodation.Details.Images, details.Images); accommodation.Details = details; await accommodationDataSource.UpdateAsync(accommodation); await searchIndexer.IndexAccommodationAsync(accommodation, facility); return(accommodation); }
public AccommodationData MapFrom(AccommodationDetails details) { return(Mapper.Map <AccommodationData>(details)); }
public IList <string> Resolve(AccommodationDetails source, UpdateAccommodationCommand destination, IList <string> destMember, ResolutionContext context) { return(source.Images?.ToList()); }
public UpdateAccommodationCommand ToUpdateCommand(AccommodationDetails details) { return(Mapper.Map <UpdateAccommodationCommand>(details)); }
public CreateAccommodationCommand ToCreateCommand(AccommodationDetails details) { return(Mapper.Map <CreateAccommodationCommand>(details)); }