コード例 #1
0
        public async Task <IActionResult> ReservarHotelAsync([FromBody] ReservaDTO model, [FromHeader] string Token)
        {
            try
            {
                Logger.LogInformation("INICIA PROCESO DE RESERVA DE VUELO");
                JwtProvider jwt         = new JwtProvider("TouresBalon.com", "UsuariosPlataforma");
                var         accessToken = Request.Headers[HeaderNames.Authorization];
                var         first       = accessToken.FirstOrDefault();
                if (string.IsNullOrEmpty(accessToken) || !first.Contains("Bearer"))
                {
                    return(BadRequest());
                }
                string token = first.Replace("Bearer", "").Trim();
                Logger.LogInformation("INICIA PROCESO DE VALIDACION DE TOKEN :" + token);
                var a = jwt.ValidateToken(token);
                if (!a)
                {
                    return(Unauthorized());
                }
                ParametrosReservaDTO parametros = new ParametrosReservaDTO();
                parametros.Nombre_proveedor = model.NombreProveedor;
                parametros.processType      = "CATALOG";
                parametros.Uuid             = model.Uuid;
                parametros.Tipo_proveedor   = "HOTEL";
                parametros.Tipo_proceso     = "catalogue";
                Reserva2 reserva = new Reserva2
                {
                    HotelCode = model.CodigoHotel,
                    LastName  = model.Apellido,
                    Name      = model.Nombre
                };
                parametros.Parametros.hotel.reserva = reserva;
                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 ReservarVuelo: " + ex.Message);
                return(StatusCode(500, "Ocurrio un error"));

                throw;
            }
        }
コード例 #2
0
        public IActionResult ReservaHotel([FromBody] ReservaDTO model, [FromHeader] string Token)
        {
            try
            {
                Logger.LogInformation("INICIA PROCESO DE RESERVA DE HOTELES");
                JwtProvider jwt         = new JwtProvider("TouresBalon.com", "UsuariosPlataforma");
                var         accessToken = Request.Headers[HeaderNames.Authorization];
                var         first       = accessToken.FirstOrDefault();
                if (string.IsNullOrEmpty(accessToken) || !first.Contains("Bearer"))
                {
                    return(BadRequest());
                }
                string token = first.Replace("Bearer", "").Trim();
                Logger.LogInformation("INICIA PROCESO DE VALIDACION DE TOKEN :" + token);
                var a = jwt.ValidateToken(token);
                if (!a)
                {
                    return(Unauthorized());
                }
                ParametrosDTO parametros = new ParametrosDTO();
                Reserva2      reserva    = new Reserva2
                {
                    HotelCode = model.CodigoHotel,
                    LastName  = model.Apellido,
                    Name      = model.Nombre
                };
                parametros.parameters.hotel.reserva = reserva;

                _db.ReservaHotels.Add(new ReservaHotel
                {
                    Nombre      = model.Nombre,
                    Apellido    = model.Apellido,
                    Token       = token,
                    CodigoHotel = model.CodigoHotel
                });
                _db.SaveChanges();
                return(Ok(new ResponseReservaVuelo
                {
                    success = true
                }));
            }
            catch (Exception ex)
            {
                Logger.LogError("Excepcion generada en ReservaHotel: " + ex.Message);
                return(StatusCode(500, "Ocurrio un error"));

                throw;
            }
        }