public async Task <IActionResult> ConsultarHotelesAsync([FromBody] ConsultarHoteles model) { try { DateTime dateTimeInicio; DateTime dateTimeFinal; if (!DateTime.TryParseExact(model.FechaInicio, "yyyy'-'MM'-'dd", CultureInfo.InvariantCulture, DateTimeStyles.None, out dateTimeInicio)) { return(BadRequest("Formato de fecha invalido, formato permitido dd/MM/aaaa")); } if (!DateTime.TryParseExact(model.FechaFinal, "yyyy'-'MM'-'dd", CultureInfo.InvariantCulture, DateTimeStyles.None, out dateTimeFinal)) { return(BadRequest("Formato de fecha invalido, formato permitido yyyy-MM-dd")); } var destino = _db.Aeropuertos.FirstOrDefault(c => c.CiudadUbicacin == model.CiudadDestino); if (destino == null) { return(NotFound("No se encontro la ciudad de destino")); } ParametrosDTO parametros = new ParametrosDTO(); parametros.processType = "CATALOG"; parametros.Uuid = model.Uuid; parametros.Tipo_proveedor = "HOTEL"; parametros.Tipo_proceso = "catalogue"; Consulta2 consultaHotel = new Consulta2 { City = destino.CiudadUbicacin, Country = "Colombia", QuantityRooms = "1", RoomType = "Bar", EndDate = model.FechaFinal, StartDate = model.FechaInicio }; parametros.Parametros.hotel.consulta = consultaHotel; string parametrosSerializados = JsonConvert.SerializeObject(parametros); using (var producer = new ProducerBuilder <Null, string>(_config).Build()) { await producer.ProduceAsync("topic-info-reader", new Message <Null, string> { Value = parametrosSerializados }); producer.Flush(TimeSpan.FromSeconds(10)); return(Ok()); } } catch (Exception ex) { Logger.LogError("Excepcion generada en ConsultarVuelos: " + ex.Message); return(StatusCode(500, "Ocurrio un error")); throw; } }
public IActionResult ConsultarHoteles([FromBody] ConsultarHoteles model) { try { DateTime dateTimeInicio; DateTime dateTimeFinal; if (!DateTime.TryParseExact(model.FechaInicio, "dd'/'MM'/'yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out dateTimeInicio)) { return(BadRequest("Formato de fecha invalido, formato permitido dd/MM/aaaa")); } if (!DateTime.TryParseExact(model.FechaFinal, "dd'/'MM'/'yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out dateTimeFinal)) { return(BadRequest("Formato de fecha invalido, formato permitido dd/MM/aaaa")); } ParametrosDTO parametros = new ParametrosDTO(); Consulta2 consultaHoteles = new Consulta2 { Country = model.Pais, City = model.Ciudad, RoomType = model.CantidadHabitaciones.ToString(), QuantityRooms = model.CantidadHabitaciones.ToString(), EndDate = model.FechaFinal, StartDate = model.FechaInicio }; parametros.parameters.hotel.consulta = consultaHoteles; ResponseConsultaHoteles response = new ResponseConsultaHoteles(); List <ResponseBase> hoteles = new List <ResponseBase> { new ResponseBase { City = model.Ciudad, Country = model.Pais, Stardate = DateTime.Now.AddDays(1), EndDate = DateTime.Now.AddDays(5), HotelCode = "4456d81asd9", Price = 2000000 }, new ResponseBase { City = model.Ciudad, Country = model.Pais, Stardate = DateTime.Now.AddDays(1), EndDate = DateTime.Now.AddDays(5), HotelCode = "89898sd81asd9", Price = 3000000 }, new ResponseBase { City = model.Ciudad, Country = model.Pais, Stardate = DateTime.Now.AddDays(1), EndDate = DateTime.Now.AddDays(5), HotelCode = "1231d81asd9", Price = 4000000 }, new ResponseBase { City = model.Ciudad, Country = model.Pais, Stardate = DateTime.Now.AddDays(1), EndDate = DateTime.Now.AddDays(5), HotelCode = "96454d81asd9", Price = 5000000 } }; response.hoteles = hoteles; return(Ok(response)); } catch (Exception ex) { Logger.LogError("Excepcion generada en ConsultarVuelos: " + ex.Message); return(StatusCode(500, "Ocurrio un error")); throw; } }