Esempio n. 1
0
        public async Task <int> Book(RoomReservationDto roomReservation, InformationProvider informationProvider)
        {
            //Obtiene la información de metadata y la lleva al modelo de metadata
            var metadataCofig = await _repository.GetMetadata(informationProvider, IMetadataRestRepository.RequestType.book);

            if (metadataCofig.Body != null || metadataCofig.Body != "")
            {
                var metadataFieldTransport = Newtonsoft.Json.JsonConvert.DeserializeObject <Entity.Hotel.RoomReservationDto>(metadataCofig.Body);
                //Convierte el objeto request en Json
                var body = Newtonsoft.Json.JsonConvert.SerializeObject(roomReservation, Newtonsoft.Json.Formatting.Indented);
                metadataCofig.Body = _fieldMapper.GetBodyMapped(metadataFieldTransport, body);
            }
            metadataCofig.Url = _fieldMapper.GetUrlMapped(roomReservation, 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();

            if (int.TryParse(response, out int responseNumber))
            {
                return(responseNumber);
            }

            return(0);
        }
Esempio n. 2
0
        public async Task <int> RoomReservation(RoomReservationDto roomReservation)
        {
            try
            {
                var bookRoomRequest = GetBookRoomResponse(roomReservation);
                var booking         = await _bookService.bookRoomAsync(bookRoomRequest);

                return(booking.result);
            }
            catch (Exception)
            {
                throw new ProviderNotResponseException();
            }
        }