Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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();
            }
        }