public async Task <List <RoomDto> > Search(SearchRoomDto searchRoom, InformationProvider informationProvider) { //Obtiene la información de metadata y la lleva al modelo de metadata var metadataCofig = await _repository.GetMetadata(informationProvider, IMetadataRestRepository.RequestType.search); if (metadataCofig.Body != null || metadataCofig.Body != "") { var metadataFieldTransport = Newtonsoft.Json.JsonConvert.DeserializeObject <Entity.Hotel.SearchRoomDto>(metadataCofig.Body); //Convierte el objeto request en Json var body = Newtonsoft.Json.JsonConvert.SerializeObject(searchRoom, Newtonsoft.Json.Formatting.Indented); metadataCofig.Body = _fieldMapper.GetBodyMapped(metadataFieldTransport, body); } metadataCofig.Url = _fieldMapper.GetUrlMapped(searchRoom, metadataCofig.Url); var providerConsumer = new ProviderConsumerService(_consumer); var result = await providerConsumer.Request(metadataCofig); if (!result.IsSuccessStatusCode) { throw new ProviderNotResponseException(); } var response = await result.Content.ReadAsStringAsync(); var rooms = _fieldMapper.GetObjetMapped <List <RoomDto> >(response, metadataCofig.Response); return(rooms); }
public async Task <List <RoomDto> > SearchRoom(SearchRoomDto searchRoom) { var roomRequest = GetRequestRoom(searchRoom); try { var roomsFinded = await _roomService.initiateAsync(roomRequest); return(GetRoomResponse(roomsFinded)); } catch (Exception) { throw new ProviderNotResponseException(); } }