Esempio n. 1
0
        public void setTicket(UserControl PageSource)
        {
            clsParametros cParametros = new clsParametros();
            clsResultados cResultados = new clsResultados();

            try
            {
                string[] sValue = csValue(PageSource);
                if (!sValue[0].Equals("0"))
                {
                    cResultados = csWebServices.TicketReservaSabre(sValue[0].ToString());
                    if (!cResultados.Error.Id.Equals(0))
                    {
                    }
                }
            }
            catch (Exception Ex)
            {
                cParametros.Id          = 0;
                cParametros.Message     = Ex.Message.ToString();
                cParametros.Source      = Ex.Source.ToString();
                cParametros.Tipo        = clsTipoError.Library;
                cParametros.Severity    = clsSeveridad.Moderada;
                cParametros.StackTrace  = Ex.StackTrace.ToString();
                cParametros.Complemento = "Modificacion Usuarios ";
                cParametros.ViewMessage.Add("Su sesion ha terminado");
                cParametros.Sugerencia.Add("Por favor confirme con el administrador");
                ExceptionHandled.Publicar(cParametros);
                new csCache().setError(PageSource, cParametros);
            }
        }
        public static clsResultados TicketReservaSabre(string sReserva)
        {
            clsParametros cParametros = new clsParametros();
            clsResultados cResultados = new clsResultados();

            try
            {
                cParametros.Id = 1;
                Negocios_WebService_OTA_AirLowFareSearch cReserva = new Negocios_WebService_OTA_AirLowFareSearch();
                cResultados = cReserva.GetDsBusquedaRecordSabreAir(sReserva);
            }
            catch (Exception Ex)
            {
                cParametros.Id          = 0;
                cParametros.Message     = Ex.Message.ToString();
                cParametros.Source      = Ex.Source.ToString();
                cParametros.Tipo        = clsTipoError.Library;
                cParametros.Severity    = clsSeveridad.Moderada;
                cParametros.StackTrace  = Ex.StackTrace.ToString();
                cParametros.Complemento = "WebServices Tickets";
                cResultados.Error       = cParametros;
                ExceptionHandled.Publicar(cParametros);
            }
            return(cResultados);
        }
Esempio n. 3
0
        private clsResultados GenerarEstructura()
        {
            clsResultados cResultados = new clsResultados();
            clsParametros cParametros = new clsParametros();
            csReservas    cReserva    = new csReservas();

            try
            {
                cResultados.dsResultados = cReserva.CrearTablaReserva();
                cParametros.Id           = 1;
                cResultados.Error        = cParametros;
            }
            catch (Exception Ex)
            {
                cParametros.Id          = 0;
                cParametros.Message     = Ex.Message.ToString();
                cParametros.Source      = Ex.Source.ToString();
                cParametros.Tipo        = clsTipoError.Aplication;
                cParametros.Severity    = clsSeveridad.Moderada;
                cParametros.StackTrace  = Ex.StackTrace.ToString();
                cParametros.Complemento = "Error al crear la estructura de reservas";
                cParametros.ViewMessage.Add("Error al guardar en la base de datos");
                cParametros.Sugerencia.Add("Por favor comuniquese con el administrador");
                cResultados.Error = cParametros;
                ExceptionHandled.Publicar(cParametros);
            }
            return(cResultados);
        }
        /// <summary>
        /// Metodo para subir reservas de sabre - Subir Reserva - SRSABRE
        /// </summary>
        /// <param name="sReserva">Codigo de reserva a subir</param>
        /// <param name="sTA">Valor de la TA</param>
        /// <param name="sITA">Valor del Iva de la TA</param>
        /// <param name="sProyecto">Codigo del proyecto a la cual se va a asociar la reserva, si es0, se inserta como nueva</param>
        /// <param name="sContacto">Codigo del contacto al cual se le asociara la reserva</param>
        /// <returns>Clase de errores, clsResultados</returns>
        ///<remarks>
        /// Autor:          José Faustino Posas
        /// Company:        Ssoft Colombia
        /// Fecha:          2012-09-13
        /// -------------------
        /// Control de Cambios
        /// -------------------
        /// Autor:
        /// Fecha:
        /// Descripción:
        /// </remarks>
        public static clsResultados SubirReservaSabre(string sReserva, string sTA, string sITA, string sProyecto, string sContacto)
        {
            clsParametros cParametros = new clsParametros();
            clsResultados cResultados = new clsResultados();

            try
            {
                cParametros.Id = 1;
                Negocios_WebService_OTA_AirLowFareSearch cReserva = new Negocios_WebService_OTA_AirLowFareSearch();
                cResultados = cReserva.getSubirReserva(sReserva, sTA, sITA, sProyecto, sContacto);
            }
            catch (Exception Ex)
            {
                cParametros.Id          = 0;
                cParametros.Message     = Ex.Message.ToString();
                cParametros.Source      = Ex.Source.ToString();
                cParametros.Tipo        = clsTipoError.Library;
                cParametros.Severity    = clsSeveridad.Moderada;
                cParametros.StackTrace  = Ex.StackTrace.ToString();
                cParametros.Complemento = "WebServices ";
                cResultados.Error       = cParametros;
                ExceptionHandled.Publicar(cParametros);
            }
            return(cResultados);
        }
        public clsResultados getServices()
        {
            clsResultados  cResultados    = new clsResultados();
            clsParametros  cParametros    = new clsParametros();
            StringBuilder  consulta       = new StringBuilder();
            VO_Credentials vo_Credentials = clsCredenciales.Credenciales(Enum_ProveedorWebServices.TotalTrip);

            try
            {
                HotelReservationInfoRQ oHotelReservationInfoRQ = new HotelReservationInfoRQ();
                HotelReservationInfoRS oHotelReservationInfoRS = new HotelReservationInfoRS();

                oHotelReservationInfoRQ.TotalTripId = 1;
                oHotelReservationInfoRQ.TripId      = "1";

                oHotelReservationInfoRQ.Username = vo_Credentials.LoginUser;;
                oHotelReservationInfoRQ.Password = vo_Credentials.PasswordUser;
                HotelReservationInfoService oHotelReservationInfoService = new HotelReservationInfoService();
                oHotelReservationInfoService.Url = clsEsquema.setConexionWs(oHotelReservationInfoService.Url);
                oHotelReservationInfoRS          = oHotelReservationInfoService.HotelReservationInfo(oHotelReservationInfoRQ);
                cResultados = new clsEsquema().GetDatasetHotel(cResultados.dsResultados, oHotelReservationInfoRS);
                if (!cResultados.Error.Id.Equals(0))
                {
                    //                    clsSesiones..setConfirmaHotel(cResultados.dsResultados);
                }
                else
                {
                    cParametros.Id       = 0;
                    cParametros.Message  = cResultados.dsResultados.Tables[clsEsquema.TABLA_ERROR].Rows[0][clsEsquema.COLUMN_MESSAGE].ToString();
                    cParametros.Severity = clsSeveridad.Alta;
                    cParametros.Tipo     = clsTipoError.WebServices;
                    cParametros.Metodo   = "HotelShopRQ";
                    consulta.AppendLine("Credenciales: ");
                    try
                    {
                        if (vo_Credentials != null)
                        {
                            consulta.AppendLine("User: "******"Password: "******"Url: " + vo_Credentials.UrlWebServices);
                            clsCache cCache = new csCache().cCache();
                            if (cCache != null)
                            {
                                consulta.AppendLine("Sesion Local: " + cCache.SessionID.ToString());
                            }
                        }
                    }
                    catch { }
                    cParametros.Info        = consulta.ToString();
                    cParametros.Complemento = "Resultados de Hoteles";
                    cParametros.ViewMessage.Add("No existen resultados para esta búsqueda");
                    cParametros.Sugerencia.Add("Por favor intente de nuevo");


                    cResultados.Error = cParametros;
                    ExceptionHandled.Publicar(cParametros);
                }
            }
            catch (Exception Ex)
            {
                cParametros.Id          = 0;
                cParametros.Message     = Ex.Message;
                cParametros.Severity    = clsSeveridad.Alta;
                cParametros.Tipo        = clsTipoError.WebServices;
                cParametros.Metodo      = System.Reflection.MethodBase.GetCurrentMethod().Name;
                cParametros.Complemento = "Confirmacion de reserva de Hoteles";
                cParametros.Source      = Ex.Source;
                consulta.AppendLine("Credenciales: ");
                try
                {
                    if (vo_Credentials != null)
                    {
                        consulta.AppendLine("User: "******"Password: "******"Url: " + vo_Credentials.UrlWebServices);
                        clsCache cCache = new csCache().cCache();
                        if (cCache != null)
                        {
                            consulta.AppendLine("Sesion Local: " + cCache.SessionID.ToString());
                        }
                    }
                }
                catch { }
                cParametros.Info       = consulta.ToString();
                cParametros.StackTrace = Ex.StackTrace;
                cParametros.ViewMessage.Add("La reserva no se confirmo");
                cParametros.Sugerencia.Add("Por favor intente de nuevo");
                cParametros.Code       = "0";
                cParametros.ValidaInfo = false;
                cParametros.MessageBD  = true;
                cParametros.TipoWs     = Enum_ProveedorWebServices.TotalTrip;
                cResultados.Error      = cParametros;
                ExceptionHandled.Publicar(cParametros);
            }
            return(cResultados);
        }
        public OTA_TravelItineraryRS _Sabre_LeerInformacionPNR(string Record_)
        {
            OTA_TravelItineraryRS TravelResultado_ = new OTA_TravelItineraryRS();
            clsResultados         cResultados      = new clsResultados();
            clsParametros         cParametros      = new clsParametros();
            StringBuilder         consulta         = new StringBuilder();

            try
            {
                objvo_Credentials = clsSesiones.getCredentials();
                OTA_TravelItineraryRead.MessageHeader Mensaje_ = clsSabreBase.OTA_TravelItineraryRead();

                if (Mensaje_ != null)
                {
                    OTA_TravelItineraryRead.Security Seguridad_ = new OTA_TravelItineraryRead.Security();
                    Seguridad_.BinarySecurityToken = Session_;

                    OTA_TravelItineraryReadRQ          Travel_       = new OTA_TravelItineraryReadRQ();
                    OTA_TravelItineraryReadRQPOS       TravelPos_    = new OTA_TravelItineraryReadRQPOS();
                    OTA_TravelItineraryReadRQPOSSource TravelSource_ = new OTA_TravelItineraryReadRQPOSSource();

                    TravelSource_.PseudoCityCode = objvo_Credentials.Pcc;
                    TravelPos_.Source            = TravelSource_;
                    Travel_.POS = TravelPos_;

                    OTA_TravelItineraryReadRQUniqueID Travel_UniqueID_ = new OTA_TravelItineraryReadRQUniqueID();
                    OTA_TravelItineraryReadRQUniqueIDTPA_ExtensionsTransaction[] aTPA_ExtensionsTransaction = new OTA_TravelItineraryReadRQUniqueIDTPA_ExtensionsTransaction[1];
                    OTA_TravelItineraryReadRQUniqueIDTPA_ExtensionsTransaction   oTPA_ExtensionsTransaction = new OTA_TravelItineraryReadRQUniqueIDTPA_ExtensionsTransaction();
                    OTA_TravelItineraryReadRQUniqueIDTPA_Extensions oIDTPA_Extensions = new OTA_TravelItineraryReadRQUniqueIDTPA_Extensions();

                    Travel_UniqueID_.ID             = Record_;
                    oTPA_ExtensionsTransaction.Code = "AIT";
                    aTPA_ExtensionsTransaction.SetValue(oTPA_ExtensionsTransaction, 0);
                    oIDTPA_Extensions.Transaction = aTPA_ExtensionsTransaction;
                    //Travel_UniqueID_.TPA_Extensions = oIDTPA_Extensions;
                    Travel_.UniqueID = Travel_UniqueID_;

                    OTA_TravelItineraryReadRQUniqueIDTPA_Extensions          oUniqueIDTPA_Extensions          = new OTA_TravelItineraryReadRQUniqueIDTPA_Extensions();
                    OTA_TravelItineraryReadRQUniqueIDTPA_ExtensionsRedisplay oUniqueIDTPA_ExtensionsRedisplay = new OTA_TravelItineraryReadRQUniqueIDTPA_ExtensionsRedisplay();

                    oUniqueIDTPA_ExtensionsRedisplay.Ind = false;
                    oUniqueIDTPA_Extensions.Redisplay    = oUniqueIDTPA_ExtensionsRedisplay;
                    Travel_UniqueID_.TPA_Extensions      = oUniqueIDTPA_Extensions;

                    OTA_TravelItineraryReadRQTPA_Extensions oTPA_Extensions = new OTA_TravelItineraryReadRQTPA_Extensions();
                    OTA_TravelItineraryReadRQTPA_ExtensionsMessagingDetails          oMessagingDetails = new OTA_TravelItineraryReadRQTPA_ExtensionsMessagingDetails();
                    OTA_TravelItineraryReadRQTPA_ExtensionsMessagingDetailsMDRSubset oMDRSubset        = new OTA_TravelItineraryReadRQTPA_ExtensionsMessagingDetailsMDRSubset();

                    oMDRSubset.Code                  = "PN12";
                    oMessagingDetails.MDRSubset      = oMDRSubset;
                    oTPA_Extensions.MessagingDetails = oMessagingDetails;
                    Travel_.TPA_Extensions           = oTPA_Extensions;

                    Travel_.Version = clsSabreBase.SABRE_VERSION_TRAVELITINERARYREADLLS;

                    OTA_TravelItineraryService TravelServicio_ = new OTA_TravelItineraryService();

                    TravelServicio_.MessageHeaderValue = Mensaje_;
                    TravelServicio_.SecurityValue      = Seguridad_;
                    TravelServicio_.Url = objvo_Credentials.UrlWebServices;

                    TravelResultado_ = TravelServicio_.OTA_TravelItineraryReadRQ(Travel_);

                    if (TravelResultado_.Errors != null)
                    {
                        cParametros.Id          = 0;
                        cParametros.Code        = TravelResultado_.Errors.Error.ErrorCode;
                        cParametros.Info        = TravelResultado_.Errors.Error.ErrorInfo.Message;
                        cParametros.Message     = TravelResultado_.Errors.Error.ErrorMessage;
                        cParametros.Severity    = TravelResultado_.Errors.Error.Severity;
                        cParametros.Tipo        = clsTipoError.WebServices;
                        cParametros.Metodo      = System.Reflection.MethodBase.GetCurrentMethod().Name;
                        cParametros.Complemento = "Recuperacion de la reserva " + Record_;
                        cParametros.ViewMessage.Add("Error al intentar recuperar la reserva");
                        cParametros.Sugerencia.Add("Por favor intente de nuevo");
                        consulta.AppendLine("Credenciales: ");
                        try
                        {
                            if (objvo_Credentials != null)
                            {
                                consulta.AppendLine("User: "******"Password: "******"Ipcc: " + objvo_Credentials.Ipcc);
                                consulta.AppendLine("Pcc: " + objvo_Credentials.Pcc);
                                consulta.AppendLine("QNumber: " + objvo_Credentials.QNumber);
                                consulta.AppendLine("Dominio: " + objvo_Credentials.Dominio);
                                consulta.AppendLine("Session Sabre: " + Session_.ToString());
                                consulta.AppendLine("Url Sabre: " + objvo_Credentials.UrlWebServices);
                                consulta.AppendLine("Reserva: " + Record_);
                            }
                        }
                        catch { }
                        cParametros.TargetSite = consulta.ToString();
                        try
                        {
                            clsCache cCache = new csCache().cCache();
                            if (cCache != null)
                            {
                                cParametros.Source = "Sesion Local: " + cCache.SessionID.ToString();
                            }
                            else
                            {
                                cParametros.Source = "Sesion Local: No hay cache ";
                            }
                        }
                        catch
                        {
                            cParametros.Source = "Sesion Local: Error ";
                        }
                        cResultados.Error = cParametros;
                        ExceptionHandled.Publicar(cParametros);
                        try
                        {
                            Negocios_WebServiceSabreCommand.setEmailError(cParametros, "Error al Recuperar la reserva " + Record_);
                        }
                        catch { }
                    }
                    else
                    {
                        cParametros.Id          = 1;
                        cParametros.TipoLog     = Enum_Error.Transac;
                        cParametros.Message     = TravelResultado_.Success;
                        cParametros.Metodo      = "Informacion PNR";
                        cParametros.Complemento = "HostCommand: " + TravelResultado_.TPA_Extensions.HostCommand;
                        cParametros.Tipo        = clsTipoError.WebServices;
                        cParametros.Severity    = clsSeveridad.Moderada;
                        consulta.AppendLine("Credenciales: ");
                        try
                        {
                            if (objvo_Credentials != null)
                            {
                                consulta.AppendLine("User: "******"Password: "******"Ipcc: " + objvo_Credentials.Ipcc);
                                consulta.AppendLine("Pcc: " + objvo_Credentials.Pcc);
                                consulta.AppendLine("QNumber: " + objvo_Credentials.QNumber);
                                consulta.AppendLine("Dominio: " + objvo_Credentials.Dominio);
                                consulta.AppendLine("Session Sabre: " + Session_.ToString());
                                consulta.AppendLine("Url Sabre: " + objvo_Credentials.UrlWebServices);
                                consulta.AppendLine("Reserva: " + Record_);
                            }
                        }
                        catch { }
                        cParametros.TargetSite = consulta.ToString();
                        try
                        {
                            clsCache cCache = new csCache().cCache();
                            if (cCache != null)
                            {
                                cParametros.Source = "Sesion Local: " + cCache.SessionID.ToString();
                            }
                            else
                            {
                                cParametros.Source = "Sesion Local: No hay cache ";
                            }
                        }
                        catch
                        {
                            cParametros.Source = "Sesion Local: Error ";
                        }
                        ExceptionHandled.Publicar(cParametros);
                    }
                }
            }
            catch (Exception Ex)
            {
                cParametros.Id          = 0;
                cParametros.Message     = Ex.Message;
                cParametros.Severity    = clsSeveridad.Alta;
                cParametros.Tipo        = clsTipoError.WebServices;
                cParametros.Metodo      = Ex.TargetSite.Name;
                cParametros.Complemento = "Recuperacion de la reserva " + Record_;
                cParametros.Source      = Ex.Source;
                cParametros.StackTrace  = Ex.StackTrace;
                cParametros.ViewMessage.Add("Error al intentar recuperar la reserva");
                cParametros.Sugerencia.Add("Por favor intente de nuevo");
                cResultados.Error = cParametros;
                ExceptionHandled.Publicar(cParametros);
                try
                {
                    Negocios_WebServiceSabreCommand.setEmailError(cParametros, "Error al Recuperar la reserva " + Record_);
                }
                catch { }
            }
            return(TravelResultado_);
        }
        public OTA_CancelRS _Sabre_CancelRecord()
        {
            OTA_CancelRS  TravelResultado_ = new OTA_CancelRS();
            clsResultados cResultados      = new clsResultados();
            clsParametros cParametros      = new clsParametros();
            StringBuilder consulta         = new StringBuilder();

            cParametros.TipoWs = Enum_ProveedorWebServices.Sabre;

            try
            {
                objvo_Credentials = clsSesiones.getCredentials();
                OTA_Cancel.MessageHeader Mensaje_ = clsSabreBase.OTA_Cancel();

                if (Mensaje_ != null)
                {
                    OTA_Cancel.Security Seguridad_ = new OTA_Cancel.Security();
                    Seguridad_.BinarySecurityToken = Session_;

                    OTA_CancelRQ          Travel_       = new OTA_CancelRQ();
                    OTA_CancelRQPOS       TravelPos_    = new OTA_CancelRQPOS();
                    OTA_CancelRQPOSSource TravelSource_ = new OTA_CancelRQPOSSource();

                    TravelSource_.PseudoCityCode = objvo_Credentials.Pcc;
                    TravelPos_.Source            = TravelSource_;
                    Travel_.POS = TravelPos_;

                    OTA_CancelRQTPA_Extensions oTPA_Extensions = new OTA_CancelRQTPA_Extensions();
                    OTA_CancelRQTPA_ExtensionsMessagingDetails          oMessagingDetails = new OTA_CancelRQTPA_ExtensionsMessagingDetails();
                    OTA_CancelRQTPA_ExtensionsMessagingDetailsMDRSubset oMDRSubset        = new OTA_CancelRQTPA_ExtensionsMessagingDetailsMDRSubset();

                    //oMDRSubset.Code = "PN12";
                    //oMessagingDetails.MDRSubset = oMDRSubset;
                    //oTPA_Extensions.MessagingDetails = oMessagingDetails;

                    OTA_CancelRQTPA_ExtensionsSegmentCancel          oSegmentCancel         = new OTA_CancelRQTPA_ExtensionsSegmentCancel();
                    OTA_CancelRQTPA_ExtensionsSegmentCancelSegment   oSegmentCancelSegment  = new OTA_CancelRQTPA_ExtensionsSegmentCancelSegment();
                    OTA_CancelRQTPA_ExtensionsSegmentCancelSegment[] oSegmentCancelSegments = new OTA_CancelRQTPA_ExtensionsSegmentCancelSegment[1];

                    //oSegmentCancelSegment.Number = "1";
                    //oSegmentCancelSegment.EndNumber = iSegmentos.ToString();
                    //oSegmentCancelSegments[0] = oSegmentCancelSegment;
                    //oSegmentCancel.Segment = oSegmentCancelSegments;

                    // "Type" refers to the segment type that the user wants to cancel.  Acceptable values for "Type" are "Air", "Car", "Hotel", "Other", or "Entire".  These formats look like this: "XIA", "XIC", "XIH", "XIO", or "XI".
                    oSegmentCancel.Type           = "Entire";
                    oTPA_Extensions.SegmentCancel = oSegmentCancel;
                    Travel_.TPA_Extensions        = oTPA_Extensions;

                    Travel_.Version = clsSabreBase.SABRE_VERSION_CANCEL;

                    OTA_CancelService TravelServicio_ = new OTA_CancelService();

                    TravelServicio_.MessageHeaderValue = Mensaje_;
                    TravelServicio_.SecurityValue      = Seguridad_;
                    TravelServicio_.Url = objvo_Credentials.UrlWebServices;

                    TravelResultado_ = TravelServicio_.OTA_CancelRQ(Travel_);

                    if (TravelResultado_.Errors != null)
                    {
                        cParametros.Id          = 0;
                        cParametros.Code        = TravelResultado_.Errors.Error.ErrorCode;
                        cParametros.Message     = TravelResultado_.Errors.Error.ErrorMessage;
                        cParametros.Severity    = TravelResultado_.Errors.Error.Severity;
                        cParametros.Tipo        = clsTipoError.WebServices;
                        cParametros.Metodo      = System.Reflection.MethodBase.GetCurrentMethod().Name;
                        cParametros.Complemento = "Cancelacion de la reserva";
                        cParametros.ViewMessage.Add("Error al intentar cancelar la reserva");
                        cParametros.Sugerencia.Add("Por favor intente de nuevo");
                        consulta.AppendLine("Credenciales: ");
                        try
                        {
                            if (objvo_Credentials != null)
                            {
                                consulta.AppendLine("User: "******"Password: "******"Ipcc: " + objvo_Credentials.Ipcc);
                                consulta.AppendLine("Pcc: " + objvo_Credentials.Pcc);
                                consulta.AppendLine("QNumber: " + objvo_Credentials.QNumber);
                                consulta.AppendLine("Dominio: " + objvo_Credentials.Dominio);
                                consulta.AppendLine("Session Sabre: " + Session_.ToString());
                                consulta.AppendLine("Url Sabre: " + objvo_Credentials.UrlWebServices);
                            }
                        }
                        catch { }
                        cParametros.TargetSite = consulta.ToString();
                        try
                        {
                            clsCache cCache = new csCache().cCache();
                            if (cCache != null)
                            {
                                cParametros.Source = "Sesion Local: " + cCache.SessionID.ToString();
                            }
                            else
                            {
                                cParametros.Source = "Sesion Local: No hay cache ";
                            }
                        }
                        catch
                        {
                            cParametros.Source = "Sesion Local: Error ";
                        }
                        cResultados.Error = cParametros;
                        ExceptionHandled.Publicar(cParametros);
                    }
                    else
                    {
                        cParametros.Id      = 1;
                        cParametros.TipoLog = Enum_Error.Transac;
                        cParametros.Message = TravelResultado_.Success;
                        consulta.AppendLine("Credenciales: ");
                        try
                        {
                            if (objvo_Credentials != null)
                            {
                                consulta.AppendLine("User: "******"Password: "******"Ipcc: " + objvo_Credentials.Ipcc);
                                consulta.AppendLine("Pcc: " + objvo_Credentials.Pcc);
                                consulta.AppendLine("QNumber: " + objvo_Credentials.QNumber);
                                consulta.AppendLine("Dominio: " + objvo_Credentials.Dominio);
                                consulta.AppendLine("Session Sabre: " + Session_.ToString());
                                consulta.AppendLine("Url Sabre: " + objvo_Credentials.UrlWebServices);
                            }
                        }
                        catch { }
                        cParametros.TargetSite = consulta.ToString();
                        try
                        {
                            clsCache cCache = new csCache().cCache();
                            if (cCache != null)
                            {
                                cParametros.Source = "Sesion Local: " + cCache.SessionID.ToString();
                            }
                            else
                            {
                                cParametros.Source = "Sesion Local: No hay cache ";
                            }
                        }
                        catch
                        {
                            cParametros.Source = "Sesion Local: Error ";
                        }
                        cParametros.Metodo      = "CancelRecord";
                        cParametros.Complemento = "HostCommand: " + TravelResultado_.TPA_Extensions.HostCommand;
                        cParametros.Tipo        = clsTipoError.WebServices;
                        cParametros.Severity    = clsSeveridad.Moderada;
                        ExceptionHandled.Publicar(cParametros);
                    }
                }
            }
            catch (Exception Ex)
            {
                cParametros.Id          = 0;
                cParametros.Message     = Ex.Message;
                cParametros.Severity    = clsSeveridad.Alta;
                cParametros.Tipo        = clsTipoError.WebServices;
                cParametros.Metodo      = Ex.TargetSite.Name;
                cParametros.Complemento = "Cancelacion de la reserva";
                cParametros.Source      = Ex.Source;
                cParametros.StackTrace  = Ex.StackTrace;
                cParametros.ViewMessage.Add("Error al intentar cancelar la reserva");
                cParametros.Sugerencia.Add("Por favor intente de nuevo");
                cResultados.Error = cParametros;
                ExceptionHandled.Publicar(cParametros);
            }
            return(TravelResultado_);
        }
        public clsResultados getServicesWs(string sCodeCity)
        {
            clsParametros  cParametros    = new clsParametros();
            clsResultados  cResultados    = new clsResultados();
            StringBuilder  consulta       = new StringBuilder();
            VO_Credentials vo_Credentials = clsCredenciales.Credenciales(Enum_ProveedorWebServices.TotalTrip);

            try
            {
                string        sWhere       = "ID = '" + sCodeCity + "'";
                HotelInfoRQ   oHotelInfoRQ = new HotelInfoRQ();
                HotelInfoRS   oHotelInfoRS = new HotelInfoRS();
                clsSerializer cSerializer  = new clsSerializer();

                DataSet dsData     = new DataSet();
                string  strPathXML = clsValidaciones.XMLDatasetCreaGen();
                string  strArchivo = "CityTT.xml";
                string  strFile    = strPathXML + strArchivo;
                dsData = cSerializer.XMLDatasetGen(strFile);
                DataTable dtData    = new DataTable();
                string    sCounty   = sCodeCity;
                string    sCountyId = sCodeCity;
                string    sCity     = sCodeCity;
                string    sCityId   = sCodeCity;
                try
                {
                    if (dsData != null)
                    {
                        dtData = clsDataNet.dsDataWhere(sWhere, dsData.Tables[1]);
                    }
                }
                catch { }
                int    iTotal      = dtData.Rows.Count;
                int[]  iHotelCodes = new int[iTotal];
                int    i           = 0;
                string sCodeHotel  = "inCodigo";
                try
                {
                    sCounty   = dtData.Rows[0]["Value_Country"].ToString();
                    sCountyId = dtData.Rows[0]["ID_Country"].ToString();
                    sCity     = dtData.Rows[0]["Value"].ToString();
                    sCityId   = dtData.Rows[0]["ID"].ToString();
                }
                catch { }
                foreach (DataRow drData in dtData.Rows)
                {
                    iHotelCodes[i] = int.Parse(drData[sCodeHotel].ToString());
                    i++;
                }
                oHotelInfoRQ.CityCode = sCodeCity;

                oHotelInfoRQ.HotelCodes = iHotelCodes;

                oHotelInfoRQ.Username = vo_Credentials.LoginUser;
                oHotelInfoRQ.Password = vo_Credentials.PasswordUser;
                DataSet          dsDataResult      = new DataSet();
                HotelInfoService oHotelInfoService = new HotelInfoService();
                oHotelInfoService.Url = clsEsquema.setConexionWs(oHotelInfoService.Url);
                oHotelInfoRS          = oHotelInfoService.GetHotelInfos(oHotelInfoRQ);
                new clsEsquema().GetDatasetHotelInfoWs(dsDataResult, oHotelInfoRS, sCounty, sCountyId, sCity, sCityId);
                cResultados.dsResultados = dsDataResult;
            }
            catch (Exception Ex)
            {
                cParametros.Id          = 0;
                cParametros.Message     = Ex.Message;
                cParametros.Severity    = clsSeveridad.Alta;
                cParametros.Tipo        = clsTipoError.WebServices;
                cParametros.Metodo      = System.Reflection.MethodBase.GetCurrentMethod().Name;
                cParametros.Complemento = "Resultados de Hoteles";
                consulta.AppendLine("Credenciales: ");
                try
                {
                    if (vo_Credentials != null)
                    {
                        consulta.AppendLine("User: "******"Password: "******"Url: " + vo_Credentials.UrlWebServices);
                        clsCache cCache = new csCache().cCache();
                        if (cCache != null)
                        {
                            consulta.AppendLine("Sesion Local: " + cCache.SessionID.ToString());
                        }
                    }
                }
                catch { }
                cParametros.Info       = consulta.ToString();
                cParametros.Source     = Ex.Source;
                cParametros.StackTrace = Ex.StackTrace;
                cParametros.ViewMessage.Add("No existen resultados para esta búsqueda");
                cParametros.Sugerencia.Add("Por favor intente de nuevo");
                cParametros.Code       = "0";
                cParametros.ValidaInfo = false;
                cParametros.MessageBD  = true;
                cParametros.TipoWs     = Enum_ProveedorWebServices.TotalTrip;
                ExceptionHandled.Publicar(cParametros);
            }
            return(cResultados);
        }
Esempio n. 9
0
        public clsResultados getServices()
        {
            clsSerializer        cDataXml             = new clsSerializer();
            clsResultados        cResultados          = new clsResultados();
            clsParametros        cParametros          = new clsParametros();
            VO_PurchaseConfirmRQ vo_PurchaseConfirmRQ = getParametros();

            try
            {
                DataTable dtAdult = (DataTable)HttpContext.Current.Session["TableID"];
                DataTable dtCh    = (DataTable)HttpContext.Current.Session["TableIDCH"];



                string sAdulto  = clsValidaciones.GetKeyOrAdd("AdultoHB", "AD");
                int    passajer = 0;
                string sInfante = clsValidaciones.GetKeyOrAdd("InfanteHB", "CH");

                string sXml = clsEstilosXmlHB.PurchaseConfirmRQ + ".xml";
                //string sXml = clsSolicitudesXml.PurchaseConfirmRS + ".xml";
                string             sRuta         = clsConfiguracionHB.RutaArchivosXml;
                XmlDocument        xmlDoc        = cDataXml.RecuperarXML(sRuta, sXml);
                clsInterfaceWSHttp cInterface    = new clsInterfaceWSHttp();
                XmlNode            objNodo2      = null;
                clsCredencialesHB  cCredenciales = new clsCredencialesHB();
                xmlDoc = cCredenciales.Credenciales(xmlDoc, vo_PurchaseConfirmRQ.Credentials, clsEstilosXmlHB.PurchaseConfirmRQ, false);

                xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "purchaseToken", "ConfirmationData", vo_PurchaseConfirmRQ.PurchaseToken);
                xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "type", "Holder", vo_PurchaseConfirmRQ.Holder.Type);

                xmlDoc = cDataXml.AsignarParametro(xmlDoc, "Name", vo_PurchaseConfirmRQ.Holder.Name, 0);
                xmlDoc = cDataXml.AsignarParametro(xmlDoc, "LastName", vo_PurchaseConfirmRQ.Holder.LastName, 0);
                xmlDoc = cDataXml.AsignarParametro(xmlDoc, "AgencyReference", vo_PurchaseConfirmRQ.AgencyReference, 0);

                int     intHabitaciones = vo_PurchaseConfirmRQ.lServiceData.Count;
                int     j             = 0;
                int     k             = 1;
                int     childs        = 0;
                int     Adultos       = 0;
                int     Adults        = 0;
                bool    infante       = true;
                XmlNode objNodoGen    = cDataXml.AsignarNodo(xmlDoc, "ServiceData", 0);
                XmlNode objNodeAgeGen = cDataXml.AsignarNodo(xmlDoc, "Customer", 0);

                int iInfant = 0;

                for (int lcostumer = 0; lcostumer < intHabitaciones; lcostumer++)
                {
                    passajer = passajer + vo_PurchaseConfirmRQ.lServiceData[lcostumer].lCustomer.Count;
                }


                for (int intIndex = 0; intIndex < intHabitaciones; intIndex++)
                {
                    XmlNode objNodo = null;

                    // La primera vez actualiza el elemento, las otras veces lo copia para adicionarlo
                    if (intIndex == 0)
                    {
                        objNodo  = objNodoGen;
                        objNodo2 = objNodo;
                    }
                    else
                    {
                        objNodo = objNodo2.Clone();
                    }

                    if (intIndex < 1)
                    {
                        xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "SPUI", "ServiceData", vo_PurchaseConfirmRQ.lServiceData[intIndex].SPUI, intIndex);
                    }


                    if (vo_PurchaseConfirmRQ.lServiceData[intIndex].lCustomer.Count > 0)
                    {
                        for (int x = 0; x < vo_PurchaseConfirmRQ.lServiceData[intIndex].lCustomer.Count; x++)
                        {
                            if (vo_PurchaseConfirmRQ.lServiceData[intIndex].lCustomer[x].Type == sAdulto)
                            {
                                XmlNode objNodoAge = null;

                                // La primera vez actualiza el elemento, las otras veces lo copia para adicionarlo


                                if (Adults < 1)
                                {
                                    for (int r = 0; r < passajer - 1; r++)
                                    {
                                        objNodo = objNodeAgeGen.Clone();
                                        cDataXml.AsignarNodo(xmlDoc, "CustomerList", intIndex).AppendChild(objNodo);
                                    }
                                    xmlDoc = cDataXml.AsignarParametro(xmlDoc, "Name", vo_PurchaseConfirmRQ.lServiceData[intIndex].lCustomer[x].Name.ToString(), 0);
                                    xmlDoc = cDataXml.AsignarParametro(xmlDoc, "LastName", vo_PurchaseConfirmRQ.lServiceData[intIndex].lCustomer[x].LastName.ToString(), 0);
                                    Adults = 1;
                                }

                                xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "type", "Customer", vo_PurchaseConfirmRQ.lServiceData[intIndex].lCustomer[x].Type, j);
                                xmlDoc = cDataXml.AsignarParametro(xmlDoc, "Age", vo_PurchaseConfirmRQ.lServiceData[intIndex].lCustomer[x].Age.ToString(), j);
                                xmlDoc = cDataXml.AsignarParametro(xmlDoc, "CustomerId", dtAdult.Rows[Adultos]["customerId"].ToString(), j);
                                xmlDoc = cDataXml.AsignarParametro(xmlDoc, "Name", vo_PurchaseConfirmRQ.lServiceData[intIndex].lCustomer[x].Name.ToString(), k);
                                xmlDoc = cDataXml.AsignarParametro(xmlDoc, "LastName", vo_PurchaseConfirmRQ.lServiceData[intIndex].lCustomer[x].LastName.ToString(), k);
                                j++;
                                k++;
                                Adultos++;
                            }
                        }
                        for (int x = 0; x < vo_PurchaseConfirmRQ.lServiceData[intIndex].lCustomer.Count; x++)
                        {
                            if (vo_PurchaseConfirmRQ.lServiceData[intIndex].lCustomer[x].Type == sInfante)
                            {
                                XmlNode objNodoAge = null;

                                xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "type", "Customer", vo_PurchaseConfirmRQ.lServiceData[intIndex].lCustomer[x].Type, j);
                                xmlDoc = cDataXml.AsignarParametro(xmlDoc, "Age", vo_PurchaseConfirmRQ.lServiceData[intIndex].lCustomer[x].Age.ToString(), j);
                                xmlDoc = cDataXml.AsignarParametro(xmlDoc, "CustomerId", dtCh.Rows[childs]["customerId"].ToString(), j);
                                xmlDoc = cDataXml.AsignarParametro(xmlDoc, "Name", vo_PurchaseConfirmRQ.lServiceData[intIndex].lCustomer[x].LastName.ToString(), k);
                                xmlDoc = cDataXml.AsignarParametro(xmlDoc, "LastName", vo_PurchaseConfirmRQ.lServiceData[intIndex].lCustomer[x].LastName.ToString(), k);

                                childs++;
                                j++;
                                k++;
                            }
                        }
                    }
                }

                string sXmlRS = sRuta + clsSolicitudesXmlHB.PurchaseConfirmRS + ".xml";
                xmlDoc.InnerXml = xmlDoc.InnerXml.ToString().Replace("<LastName></LastName>", "");
                xmlDoc.InnerXml = xmlDoc.InnerXml.ToString().Replace("<Name></Name>", "");

                HttpContext.Current.Session["TableID"]   = null;
                HttpContext.Current.Session["TableIDCH"] = null;
                string sResponse = cInterface.ObtenerHttpWebResponse(xmlDoc.InnerXml, vo_PurchaseConfirmRQ.Credentials.UrlWebServices, clsConfiguracionHB.FormatoXml);
                try
                {
                    cDataXml.SaveXML(sXmlRS, sResponse);
                }
                catch { }
                //string sResponse = xmlDoc.InnerXml;
                cResultados.dsResultados = cDataXml.CrearDataSet(sResponse);

                clsSesiones.setConfirmaHotel(cResultados.dsResultados);
                if (cResultados.dsResultados.Tables.Count < 5)
                {
                    cParametros.Id          = 0;
                    cParametros.Code        = cResultados.dsResultados.Tables[TABLA_ERROR].Rows[0][COLUMN_CODE].ToString();
                    cParametros.Info        = cResultados.dsResultados.Tables[TABLA_ERROR].Rows[0][COLUMN_DETAIL_MESSAGE].ToString();
                    cParametros.Message     = cResultados.dsResultados.Tables[TABLA_ERROR].Rows[0][COLUMN_MESSAGE].ToString();
                    cParametros.Severity    = clsSeveridad.Alta;
                    cParametros.Tipo        = clsTipoError.WebServices;
                    cParametros.Metodo      = "PurchaseConfirmRQ";
                    cParametros.Complemento = "Confirmacion de Hoteles";
                    cParametros.ViewMessage.Add("No existen resultados para esta búsqueda");
                    cParametros.Sugerencia.Add("Por favor intente de nuevo");
                    cParametros.Code       = "502";
                    cParametros.ValidaInfo = false;
                    cParametros.MessageBD  = true;
                    cParametros.TipoWs     = Enum_ProveedorWebServices.HotelBeds;

                    cResultados.Error = cParametros;
                    ExceptionHandled.Publicar(cParametros);
                }
                else
                {
                    cParametros.Id    = 1;
                    cResultados.Error = cParametros;
                }
            }
            catch (Exception Ex)
            {
                cParametros.Id          = 0;
                cParametros.Message     = Ex.Message;
                cParametros.Severity    = clsSeveridad.Alta;
                cParametros.Tipo        = clsTipoError.WebServices;
                cParametros.Metodo      = "PurchaseConfirmRQ";
                cParametros.Complemento = "Confirmacion de Hoteles";
                cParametros.Source      = Ex.Source;
                cParametros.StackTrace  = Ex.StackTrace;
                cParametros.ViewMessage.Add("No existen resultados para esta búsqueda");
                cParametros.Sugerencia.Add("Por favor intente de nuevo");
                cParametros.Code       = "502";
                cParametros.ValidaInfo = false;
                cParametros.MessageBD  = true;
                cParametros.TipoWs     = Enum_ProveedorWebServices.HotelBeds;

                cResultados.Error = cParametros;
                ExceptionHandled.Publicar(cParametros);
            }
            return(cResultados);
        }
        public clsResultados getServicesMulti(VO_HotelValuedAvailRQ vo_HotelValuedAvailRQ)
        {
            clsResultados cResultados = new clsResultados();
            clsParametros cParametros = new clsParametros();
            clsSerializer cDataXml    = new clsSerializer();

            cParametros.Id    = 1;
            cResultados.Error = cParametros;

            //cResultados.dsResultados = cDataXml.XMLDataset("HotelBeds");
            cResultados = getServices(vo_HotelValuedAvailRQ);
            try
            {
                if (!cResultados.Error.Id.Equals(0))
                {
                    DataTable dtHotelInfo  = cResultados.dsResultados.Tables[TABLA_HOTEL_INFO];
                    DataTable dtPageData   = cResultados.dsResultados.Tables[TABLA_PAGINATION_DATA];
                    DataTable dtHotelValue = cResultados.dsResultados.Tables[TABLA_HOTEL_VALUE_AVAIL];

                    int iPaginas = dtHotelInfo.Rows.Count;

                    foreach (DataRow drPageData in dtPageData.Rows)
                    {
                        drPageData[COLUMN_TOTAL_PAGES] = 1;
                    }
                    foreach (DataRow drHotelValue in dtHotelValue.Rows)
                    {
                        drHotelValue[COLUMN_TOTAL_ITEMS] = iPaginas;
                    }
                    dtPageData.AcceptChanges();
                    dtHotelValue.AcceptChanges();

                    clsSesiones.setResultadoHotel(cResultados.dsResultados);
                    if (cResultados.dsResultados.Tables.Count < 5)
                    {
                        cParametros.Id = 0;
                        try
                        {
                            cParametros.Code    = cResultados.dsResultados.Tables[TABLA_ERROR].Rows[0][COLUMN_CODE].ToString();
                            cParametros.Info    = cResultados.dsResultados.Tables[TABLA_ERROR].Rows[0][COLUMN_DETAIL_MESSAGE].ToString();
                            cParametros.Message = cResultados.dsResultados.Tables[TABLA_ERROR].Rows[0][COLUMN_MESSAGE].ToString();
                        }
                        catch { }
                        cParametros.Severity    = clsSeveridad.Alta;
                        cParametros.Tipo        = clsTipoError.WebServices;
                        cParametros.Metodo      = "HotelValuedAvailRQ";
                        cParametros.Complemento = "Resultados de Hoteles";
                        cParametros.ViewMessage.Add("No existen resultados para esta búsqueda");
                        cParametros.Sugerencia.Add("Por favor intente de nuevo");
                        cParametros.Code       = "501";
                        cParametros.ValidaInfo = false;
                        cParametros.MessageBD  = true;
                        cParametros.TipoWs     = Enum_ProveedorWebServices.HotelBeds;

                        cResultados.Error = cParametros;
                        ExceptionHandled.Publicar(cParametros);
                    }
                    else
                    {
                        cParametros.Id    = 1;
                        cResultados.Error = cParametros;
                    }
                }
            }
            catch (Exception Ex)
            {
                cParametros.Id          = 0;
                cParametros.Message     = Ex.Message;
                cParametros.Severity    = clsSeveridad.Alta;
                cParametros.Tipo        = clsTipoError.WebServices;
                cParametros.Metodo      = "HotelValuedAvailRQ";
                cParametros.Complemento = "Resultados de Hoteles";
                cParametros.Source      = Ex.Source;
                cParametros.StackTrace  = Ex.StackTrace;
                cParametros.ViewMessage.Add("No existen resultados para esta búsqueda");
                cParametros.Sugerencia.Add("Por favor intente de nuevo");
                cParametros.Code       = "501";
                cParametros.ValidaInfo = false;
                cParametros.MessageBD  = true;
                cParametros.TipoWs     = Enum_ProveedorWebServices.HotelBeds;

                cResultados.Error = cParametros;
                ExceptionHandled.Publicar(cParametros);
            }
            return(cResultados);
        }
        public WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRS _Sabre_AgregarInformacionPNR(List <VO_DataTravelItineraryAddInfo> InformacionItinerario_)
        {
            objvo_Credentials = clsSesiones.getCredentials();
            WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRS TravelResultado_ = new WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRS();
            clsResultados cResultados = new clsResultados();
            clsParametros cParametros = new clsParametros();
            StringBuilder consulta    = new StringBuilder();
            clsCache      cCache      = new csCache().cCache();

            cParametros.TipoWs = Enum_ProveedorWebServices.Sabre;
            try
            {
                WebService_TravelItineraryAddInfoLLS.MessageHeader Mensaje_ = clsSabreBase.__ISabre_TravelItineraryAddInfoLLS();

                if (Mensaje_ != null)
                {
                    WebService_TravelItineraryAddInfoLLS.Security Seguridad_ = new WebService_TravelItineraryAddInfoLLS.Security();
                    Seguridad_.BinarySecurityToken = Session_;
                    WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQ          Travel_       = new WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQ();
                    WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQPOS       TravelPos_    = new WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQPOS();
                    WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQPOSSource TravelSource_ = new WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQPOSSource();
                    TravelSource_.PseudoCityCode = objvo_Credentials.Pcc;//ConfigurationManager.AppSettings["Sabre_Ipcc"];
                    TravelPos_.Source            = TravelSource_;
                    Travel_.POS = TravelPos_;

                    #region [ DATOS AGENCIA ]
                    WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQAgencyInfo        Travel_Agencia_          = new WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQAgencyInfo();
                    WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQAgencyInfoAddress Travel_AgenciaDireccion_ = new WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQAgencyInfoAddress();
                    WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQAgencyInfoAddressTPA_Extensions Travel_AgenciaDireccionExt_  = new WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQAgencyInfoAddressTPA_Extensions();
                    WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQAgencyInfoTelephone[]           Travel_AgenciaTelefonoArray_ = new WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQAgencyInfoTelephone[1];
                    WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQAgencyInfoTicketing             Travel_AgenciaTickete_       = new WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQAgencyInfoTicketing();
                    Travel_AgenciaDireccionExt_.AgencyName = objvo_Credentials.Agencia_Nombre;         //ConfigurationManager.AppSettings["Agencia_Nombre"];
                    WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQAgencyInfoAddressStreetNmbr Travel_AgenciaDireccionNumero_ = new WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQAgencyInfoAddressStreetNmbr();
                    Travel_AgenciaDireccionNumero_.PO_Box = objvo_Credentials.Agencia_Direccion;       //ConfigurationManager.AppSettings["Agencia_Direccion"];
                    Travel_AgenciaDireccion_.StreetNmbr   = Travel_AgenciaDireccionNumero_;
                    Travel_AgenciaDireccion_.CityName     = objvo_Credentials.Agencia_Ciudad;          // ConfigurationManager.AppSettings["Agencia_Ciudad"];
                    Travel_AgenciaDireccion_.PostalCode   = objvo_Credentials.Agencia_CodigoPostal;    // ConfigurationManager.AppSettings["Agencia_CodigoPostal"];
                    WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQAgencyInfoAddressStateCountyProv Travel_AgenciaDireccionProv_ = new WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQAgencyInfoAddressStateCountyProv();
                    Travel_AgenciaDireccionProv_.StateCode   = objvo_Credentials.Agencia_CodigoEstado; // ConfigurationManager.AppSettings["Agencia_CodigoEstado"];
                    Travel_AgenciaDireccion_.StateCountyProv = Travel_AgenciaDireccionProv_;
                    WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQAgencyInfoAddressCountryName Travel_AgenciaDireccionName_ = new WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQAgencyInfoAddressCountryName();
                    Travel_AgenciaDireccionName_.Code       = objvo_Credentials.Agencia_CodigoPais;// ConfigurationManager.AppSettings["Agencia_CodigoPais"];
                    Travel_AgenciaDireccion_.CountryName    = Travel_AgenciaDireccionName_;
                    Travel_AgenciaDireccion_.TPA_Extensions = Travel_AgenciaDireccionExt_;
                    WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQAgencyInfoTelephone Travel_AgenciaTelefono_ = new WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQAgencyInfoTelephone();
                    Travel_AgenciaTelefono_.AreaCityCode      = objvo_Credentials.Agencia_CodigoArea;         // ConfigurationManager.AppSettings["Agencia_CodigoArea"];
                    Travel_AgenciaTelefono_.PhoneLocationType = objvo_Credentials.Agencia_CodigoLocalizacion; // ConfigurationManager.AppSettings["Agencia_CodigoLocalizacion"];
                    Travel_AgenciaTelefono_.PhoneNumber       = objvo_Credentials.Agencia_Telefono;           // ConfigurationManager.AppSettings["Agencia_Telefono"];
                    Travel_AgenciaTelefonoArray_[0]           = Travel_AgenciaTelefono_;
                    //Travel_AgenciaTickete_.TicketingDate = ConfigurationManager.AppSettings["Agencia_TicketeFecha"];
                    Travel_AgenciaTickete_.QueueID         = objvo_Credentials.Agencia_TiketeId;       // ConfigurationManager.AppSettings["Agencia_TicketeId"];
                    Travel_AgenciaTickete_.Manual          = bool.Parse(objvo_Credentials.Agencia_TiketeManual /*ConfigurationManager.AppSettings["Agencia_TicketeManual"]*/);
                    Travel_AgenciaTickete_.TicketTimeLimit = objvo_Credentials.Agencia_TiketTimeLimit; //ConfigurationManager.AppSettings["Agencia_TicketTimeLimit"];
                    Travel_Agencia_.Address   = Travel_AgenciaDireccion_;
                    Travel_Agencia_.Telephone = Travel_AgenciaTelefonoArray_;
                    Travel_Agencia_.Ticketing = Travel_AgenciaTickete_;
                    #endregion

                    #region [ DATOS VIAJEROS ]
                    WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQCustomerInfo                     Travel_InformacionCliente_                  = new WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQCustomerInfo();
                    WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQCustomerInfoPersonName[]         Travel_InformacionClienteArray_             = new WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQCustomerInfoPersonName[InformacionItinerario_.Count];
                    WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQCustomerInfoPassengerType[]      Travel_InformacionCliente_TipoArray_        = new WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQCustomerInfoPassengerType[InformacionItinerario_.Count];
                    List <WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQCustomerInfoTelephone>     Travel_InformacionCliente_TelefonoArray_    = new List <WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQCustomerInfoTelephone>();
                    WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQCustomerInfoEmail[]              Travel_InformacionCliente_EmailArray_       = new WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQCustomerInfoEmail[InformacionItinerario_.Count];
                    WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQCustomerInfoCustLoyalty[]        Travel_InformacionCliente_CustLoyaltyArray_ = new WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQCustomerInfoCustLoyalty[InformacionItinerario_.Count];
                    WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQCustomerInfoCustomerIdentifier[] Travel_InformacionClienteIdentifierArray_   = new WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQCustomerInfoCustomerIdentifier[InformacionItinerario_.Count];
                    int i = 0;
                    int y = 1;
                    foreach (VO_DataTravelItineraryAddInfo Informacion_ in InformacionItinerario_)
                    {
                        WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQCustomerInfoEmail              Travel_InformacionCliente_Email_       = new WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQCustomerInfoEmail();
                        WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQCustomerInfoCustLoyalty        Travel_InformacionCliente_CustLoyalty_ = new WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQCustomerInfoCustLoyalty();
                        WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQCustomerInfoPersonName         Travel_InformacionClientePerson_       = new WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQCustomerInfoPersonName();
                        WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQCustomerInfoPersonNameInfant   Travel_InformacionCliente_Infant_      = new WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQCustomerInfoPersonNameInfant();
                        WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQCustomerInfoPassengerType      Travel_InformacionCliente_Tipo_        = new WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQCustomerInfoPassengerType();
                        WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQCustomerInfoCustomerIdentifier Travel_InformacionClienteIdentifier_   = new WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQCustomerInfoCustomerIdentifier();

                        if (Informacion_.Telefono_ != null && Informacion_.Telefono_.Count > 0)
                        {
                            for (int l = 0; l < Informacion_.Telefono_.Count; l++)
                            {
                                WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQCustomerInfoTelephone Travel_InformacionCliente_Telefono_ = new WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQCustomerInfoTelephone();
                                if (Informacion_.Telefono_[l].Length.Equals(0))
                                {
                                    Travel_InformacionCliente_Telefono_.AreaCityCode      = objvo_Credentials.Agencia_CodigoArea;
                                    Travel_InformacionCliente_Telefono_.PhoneLocationType = objvo_Credentials.Agencia_CodigoLocalizacion;
                                    Travel_InformacionCliente_Telefono_.PhoneNumber       = objvo_Credentials.Agencia_Telefono;
                                }
                                else
                                {
                                    Travel_InformacionCliente_Telefono_.AreaCityCode      = Informacion_.CodigoArea_;
                                    Travel_InformacionCliente_Telefono_.PhoneLocationType = Informacion_.CodigoLocalizacion_;
                                    Travel_InformacionCliente_Telefono_.PhoneNumber       = Informacion_.Telefono_[l];
                                }
                                Travel_InformacionCliente_TelefonoArray_.Add(Travel_InformacionCliente_Telefono_);
                            }
                        }
                        else
                        {
                            WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQCustomerInfoTelephone Travel_InformacionCliente_Telefono_ = new WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoRQCustomerInfoTelephone();

                            Travel_InformacionCliente_Telefono_.AreaCityCode      = objvo_Credentials.Agencia_CodigoArea;
                            Travel_InformacionCliente_Telefono_.PhoneLocationType = objvo_Credentials.Agencia_CodigoLocalizacion;
                            Travel_InformacionCliente_Telefono_.PhoneNumber       = objvo_Credentials.Agencia_Telefono;
                            Travel_InformacionCliente_TelefonoArray_.Add(Travel_InformacionCliente_Telefono_);
                        }
                        //if (Informacion_.Documento_ != null && Informacion_.Documento_.Length > 0)
                        //{
                        //    Travel_InformacionClienteIdentifier_.Identifier = "NI" + Informacion_.Documento_;
                        //    Travel_InformacionClienteIdentifierArray_[i] = Travel_InformacionClienteIdentifier_;
                        //}

                        if (Informacion_.Email_ != null && Informacion_.Email_.Length > 0)
                        {
                            Travel_InformacionCliente_Email_.EmailAddress = Informacion_.Email_;
                            Travel_InformacionCliente_Email_.NameNumber   = Convert.ToString(Convert.ToString(y));
                            Travel_InformacionCliente_EmailArray_[i]      = Travel_InformacionCliente_Email_;
                        }
                        Travel_InformacionCliente_Infant_.Ind          = Informacion_.Infante_;
                        Travel_InformacionCliente_Infant_.IndSpecified = true;
                        Travel_InformacionClientePerson_.GivenName     = Informacion_.Nombre_;
                        Travel_InformacionClientePerson_.Surname       = Informacion_.Apellido_;
                        Travel_InformacionClientePerson_.Infant        = Travel_InformacionCliente_Infant_;
                        Travel_InformacionClientePerson_.RPH           = Convert.ToString(y);
                        Travel_InformacionClienteArray_[i]             = Travel_InformacionClientePerson_;
                        Travel_InformacionCliente_Tipo_.Code           = Informacion_.Tipo_;
                        //Travel_InformacionCliente_Tipo_.NameNumber = Convert.ToString(Informacion_.Id_) + ".1";
                        Travel_InformacionCliente_Tipo_.NameNumber = Convert.ToString(y) + ".1";
                        Travel_InformacionCliente_TipoArray_[i]    = Travel_InformacionCliente_Tipo_;
                        Travel_InformacionCliente_.PassengerType   = Travel_InformacionCliente_TipoArray_;
                        try
                        {
                            // Se incluye el envio del pasajero frecuente
                            if (Informacion_.ViajeroFrecuente_ != null && Informacion_.ViajeroFrecuente_ != String.Empty)
                            {
                                Travel_InformacionCliente_CustLoyalty_.RPH          = Convert.ToString(y);
                                Travel_InformacionCliente_CustLoyalty_.NameNumber   = Convert.ToString(y) + ".1";
                                Travel_InformacionCliente_CustLoyalty_.ProgramID    = Informacion_.Aeroliena_;
                                Travel_InformacionCliente_CustLoyalty_.MembershipID = Informacion_.ViajeroFrecuente_;
                                Travel_InformacionCliente_CustLoyaltyArray_[i]      = Travel_InformacionCliente_CustLoyalty_;
                            }
                        }
                        catch { }
                        i++;
                        y++;
                    }
                    Travel_InformacionCliente_.Telephone   = Travel_InformacionCliente_TelefonoArray_.ToArray();
                    Travel_InformacionCliente_.PersonName  = Travel_InformacionClienteArray_;
                    Travel_InformacionCliente_.Email       = Travel_InformacionCliente_EmailArray_;
                    Travel_InformacionCliente_.CustLoyalty = Travel_InformacionCliente_CustLoyaltyArray_;
                    //Travel_InformacionCliente_.CustomerIdentifier = Travel_InformacionClienteIdentifierArray_;

                    #endregion

                    Travel_.AgencyInfo   = Travel_Agencia_;
                    Travel_.CustomerInfo = Travel_InformacionCliente_;
                    Travel_.Version      = clsSabreBase.SABRE_VERSION_TRAVELITINERARYADDINFO;
                    WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoService TravelServicio_ = new WebService_TravelItineraryAddInfoLLS.TravelItineraryAddInfoService();
                    TravelServicio_.MessageHeaderValue = Mensaje_;
                    TravelServicio_.SecurityValue      = Seguridad_;
                    TravelServicio_.Url = objvo_Credentials.UrlWebServices;

                    //string Comando_ = "*N";
                    //string sRespuesta = string.Empty;
                    //try
                    //{
                    //    sRespuesta = Negocios_WebServiceSabreCommand._EjecutarComando(Comando_);
                    //}
                    //catch { }
                    TravelResultado_ = TravelServicio_.TravelItineraryAddInfoRQ(Travel_);

                    //try
                    //{
                    //    sRespuesta = Negocios_WebServiceSabreCommand._EjecutarComando(Comando_);
                    //}
                    //catch { }
                    if (TravelResultado_.Errors != null)
                    {
                        cParametros.Id          = 0;
                        cParametros.TipoLog     = Enum_Error.Log;
                        cParametros.Code        = TravelResultado_.Errors.Error.ErrorCode;
                        cParametros.Info        = TravelResultado_.Errors.Error.ErrorInfo.Message;
                        cParametros.Message     = TravelResultado_.Errors.Error.ErrorMessage;
                        cParametros.Severity    = TravelResultado_.Errors.Error.Severity;
                        cParametros.Tipo        = clsTipoError.WebServices;
                        cParametros.Metodo      = "_Sabre_AgregarInformacionPNR";
                        cParametros.Complemento = "HostCommand: " + TravelResultado_.TPA_Extensions.HostCommand;
                        cParametros.ViewMessage.Add("Error al intentar incluir los pasajeros");
                        cParametros.Sugerencia.Add("Por favor intente de nuevo");
                        consulta.AppendLine("Credenciales: ");
                        try
                        {
                            if (objvo_Credentials != null)
                            {
                                consulta.AppendLine("User: "******"Password: "******"Ipcc: " + objvo_Credentials.Ipcc);
                                consulta.AppendLine("Pcc: " + objvo_Credentials.Pcc);
                                consulta.AppendLine("QNumber: " + objvo_Credentials.QNumber);
                                consulta.AppendLine("Dominio: " + objvo_Credentials.Dominio);
                                consulta.AppendLine("Url Sabre: " + objvo_Credentials.UrlWebServices);
                                consulta.AppendLine("Session Sabre: " + Session_.ToString());
                            }
                        }
                        catch { }
                        cParametros.TargetSite = consulta.ToString();
                        try
                        {
                            if (cCache != null)
                            {
                                cParametros.Source = "Sesion Local: " + cCache.SessionID.ToString();
                            }
                            else
                            {
                                cParametros.Source = "Sesion Local: No hay cache ";
                            }
                        }
                        catch
                        {
                            cParametros.Source = "Sesion Local: Error ";
                        }
                        cResultados.Error = cParametros;
                        ExceptionHandled.Publicar(cParametros);
                    }
                    else
                    {
                        cParametros.Id          = 1;
                        cParametros.Tipo        = clsTipoError.WebServices;
                        cParametros.TipoLog     = Enum_Error.Transac;
                        cParametros.Metodo      = "_Sabre_AgregarInformacionPNR";
                        cParametros.Complemento = "HostCommand: " + TravelResultado_.TPA_Extensions.HostCommand;
                        consulta.AppendLine("Credenciales: ");
                        try
                        {
                            if (objvo_Credentials != null)
                            {
                                consulta.AppendLine("User: "******"Password: "******"Ipcc: " + objvo_Credentials.Ipcc);
                                consulta.AppendLine("Pcc: " + objvo_Credentials.Pcc);
                                consulta.AppendLine("QNumber: " + objvo_Credentials.QNumber);
                                consulta.AppendLine("Dominio: " + objvo_Credentials.Dominio);
                                consulta.AppendLine("Url Sabre: " + objvo_Credentials.UrlWebServices);
                                consulta.AppendLine("Session Sabre: " + Session_.ToString());
                            }
                        }
                        catch { }
                        cParametros.TargetSite = consulta.ToString();
                        try
                        {
                            if (cCache != null)
                            {
                                cParametros.Source = "Sesion Local: " + cCache.SessionID.ToString();
                            }
                            else
                            {
                                cParametros.Source = "Sesion Local: No hay cache ";
                            }
                        }
                        catch
                        {
                            cParametros.Source = "Sesion Local: Error ";
                        }
                        ExceptionHandled.Publicar(cParametros);

                        clsSesiones.SET_LOAD_PASAJERO(true);
                    }
                }
            }
            catch (Exception Ex)
            {
                cParametros.Id          = 0;
                cParametros.Message     = Ex.Message;
                cParametros.Severity    = clsSeveridad.Alta;
                cParametros.Tipo        = clsTipoError.WebServices;
                cParametros.Metodo      = "_Sabre_AgregarInformacionPNR";
                cParametros.Complemento = "Envio de pasajeros";
                consulta.AppendLine("Credenciales: ");
                try
                {
                    if (objvo_Credentials != null)
                    {
                        consulta.AppendLine("User: "******"Password: "******"Ipcc: " + objvo_Credentials.Ipcc);
                        consulta.AppendLine("Pcc: " + objvo_Credentials.Pcc);
                        consulta.AppendLine("QNumber: " + objvo_Credentials.QNumber);
                        consulta.AppendLine("Dominio: " + objvo_Credentials.Dominio);
                        consulta.AppendLine("Url Sabre: " + objvo_Credentials.UrlWebServices);
                        consulta.AppendLine("Session Sabre: " + Session_.ToString());
                    }
                }
                catch { }
                cParametros.TargetSite = consulta.ToString();
                try
                {
                    if (cCache != null)
                    {
                        cParametros.Source = "Sesion Local: " + cCache.SessionID.ToString();
                    }
                    else
                    {
                        cParametros.Source = "Sesion Local: No hay cache ";
                    }
                }
                catch
                {
                    cParametros.Source = "Sesion Local: Error ";
                }
                cParametros.ViewMessage.Add("Error al intentar incluir los pasajeros");
                cParametros.Sugerencia.Add("Por favor intente de nuevo");
                cResultados.Error = cParametros;
                ExceptionHandled.Publicar(cParametros);
            }
            return(TravelResultado_);
        }
        public clsResultados getServices()
        {
            clsResultados   cResultados   = new clsResultados();
            clsParametros   cParametros   = new clsParametros();
            clsHotelConfirm cHotelConfirm = new clsHotelConfirm();

            try
            {
                DataSet dsResultados = clsSesiones.getResultadoHotel();
                cParametros = new clsEsquema().GetDatasetRoomSelect(dsResultados);
                if (!cParametros.Id.Equals(0))
                {
                    clsSesiones.setReservaHotel(dsResultados);
                    cResultados = cHotelConfirm.getServices();
                    if (cResultados.Error.Id.Equals(0))
                    {
                        clsSesiones.setReservaHotel(null);
                    }
                    else
                    {
                        cResultados.Error = cParametros;
                    }
                }
                else
                {
                    cParametros.Id          = 0;
                    cParametros.Message     = cResultados.dsResultados.Tables[clsEsquema.TABLA_ERROR].Rows[0][clsEsquema.COLUMN_MESSAGE].ToString();
                    cParametros.Severity    = clsSeveridad.Alta;
                    cParametros.Tipo        = clsTipoError.WebServices;
                    cParametros.Metodo      = "HotelValuedAvailRQ";
                    cParametros.Complemento = "Resultados de Hoteles";
                    cParametros.ViewMessage.Add("No existen resultados para esta búsqueda");
                    cParametros.Sugerencia.Add("Por favor intente de nuevo");
                    cParametros.Code       = "0";
                    cParametros.ValidaInfo = false;
                    cParametros.MessageBD  = true;
                    cParametros.TipoWs     = Enum_ProveedorWebServices.TotalTrip;

                    cResultados.Error = cParametros;
                    ExceptionHandled.Publicar(cParametros);
                }
            }
            catch (Exception Ex)
            {
                cParametros.Id          = 0;
                cParametros.Message     = Ex.Message;
                cParametros.Severity    = clsSeveridad.Alta;
                cParametros.Tipo        = clsTipoError.WebServices;
                cParametros.Metodo      = System.Reflection.MethodBase.GetCurrentMethod().Name;
                cParametros.Complemento = "Resultados de Hoteles";
                cParametros.Source      = Ex.Source;
                cParametros.StackTrace  = Ex.StackTrace;
                cParametros.ViewMessage.Add("No existen resultados para esta búsqueda");
                cParametros.Sugerencia.Add("Por favor intente de nuevo");
                cParametros.Code       = "0";
                cParametros.ValidaInfo = false;
                cParametros.MessageBD  = true;
                cParametros.TipoWs     = Enum_ProveedorWebServices.TotalTrip;
                cResultados.Error      = cParametros;
                ExceptionHandled.Publicar(cParametros);
            }
            return(cResultados);
        }
Esempio n. 13
0
        public clsResultados getServices(VO_HotelDetailRQ vo_HotelDetailRQ)
        {
            clsSerializer cDataXml    = new clsSerializer();
            clsResultados cResultados = new clsResultados();
            clsParametros cParametros = new clsParametros();

            try
            {
                string             sXml       = clsEstilosXmlHB.HotelDetailRQ + ".xml";
                string             sRuta      = clsConfiguracionHB.RutaArchivosXml;
                XmlDocument        xmlDoc     = cDataXml.RecuperarXML(sRuta, sXml);
                clsInterfaceWSHttp cInterface = new clsInterfaceWSHttp();

                VO_Credentials vo_Credentials = new VO_Credentials();

                try { vo_Credentials.Language = ConfigurationManager.AppSettings[clsSesiones.getIdioma()].ToString(); }
                catch { vo_Credentials.Language = "CAS"; }

                vo_Credentials.User           = clsConfiguracionHB.User;
                vo_Credentials.Password       = clsConfiguracionHB.Password;
                vo_Credentials.UrlWebServices = clsConfiguracionHB.UrlWebService;
                vo_HotelDetailRQ.Credentials  = vo_Credentials;
                clsSesiones.setDetalleHotel(vo_HotelDetailRQ);

                clsCredencialesHB cCredenciales = new clsCredencialesHB();
                xmlDoc = cCredenciales.Credenciales(xmlDoc, vo_HotelDetailRQ.Credentials, clsEstilosXmlHB.HotelDetailRQ, false);

                xmlDoc = cDataXml.AsignarParametro(xmlDoc, "HotelCode", vo_HotelDetailRQ.HotelCode, 0);

                string sXmlRS    = sRuta + clsSolicitudesXmlHB.HotelDetailRS + ".xml";
                string sResponse = cInterface.ObtenerHttpWebResponse(xmlDoc.InnerXml, vo_HotelDetailRQ.Credentials.UrlWebServices, clsConfiguracionHB.FormatoXml);

                try
                {
                    cDataXml.SaveXML(sXmlRS, sResponse);
                }
                catch (Exception ex)
                {
                    Ssoft.ManejadorExcepciones.ExceptionHandled.Publicar(ex.Message);
                }

                cResultados.dsResultados = cDataXml.CrearDataSet(sResponse);

                clsSesiones.setResultados(cResultados);
                if (cResultados.dsResultados.Tables.Count < 5)
                {
                    cParametros.Id          = 0;
                    cParametros.Code        = cResultados.dsResultados.Tables[TABLA_ERROR].Rows[0][COLUMN_CODE].ToString();
                    cParametros.Info        = cResultados.dsResultados.Tables[TABLA_ERROR].Rows[0][COLUMN_DETAIL_MESSAGE].ToString();
                    cParametros.Message     = cResultados.dsResultados.Tables[TABLA_ERROR].Rows[0][COLUMN_MESSAGE].ToString();
                    cParametros.Severity    = clsSeveridad.Alta;
                    cParametros.Tipo        = clsTipoError.WebServices;
                    cParametros.Metodo      = "HotelDetailRQ";
                    cParametros.Complemento = "Detalle de Hoteles";
                    cParametros.ViewMessage.Add("No existen resultados para esta búsqueda");
                    cParametros.Sugerencia.Add("Por favor intente de nuevo");
                    cParametros.ValidaInfo = false;
                    cParametros.Code       = "0";
                    cParametros.MessageBD  = true;
                    cParametros.TipoWs     = Enum_ProveedorWebServices.HotelBeds;

                    cResultados.Error = cParametros;
                    ExceptionHandled.Publicar(cParametros);
                }
                else
                {
                    cParametros.Id    = 1;
                    cResultados.Error = cParametros;
                }
            }
            catch (Exception Ex)
            {
                cParametros.Id          = 0;
                cParametros.Message     = Ex.Message;
                cParametros.Severity    = clsSeveridad.Alta;
                cParametros.Tipo        = clsTipoError.WebServices;
                cParametros.Metodo      = "HotelDetailRQ";
                cParametros.Complemento = "Detalle de Hoteles";
                cParametros.Source      = Ex.Source;
                cParametros.StackTrace  = Ex.StackTrace;
                cParametros.ViewMessage.Add("No existen resultados para esta búsqueda");
                cParametros.Sugerencia.Add("Por favor intente de nuevo");
                cParametros.Code       = "0";
                cParametros.ValidaInfo = false;
                cParametros.MessageBD  = true;
                cParametros.TipoWs     = Enum_ProveedorWebServices.HotelBeds;

                cResultados.Error = cParametros;
                ExceptionHandled.Publicar(cParametros);
            }
            return(cResultados);
        }
Esempio n. 14
0
        public clsResultados getServices(string sId)
        {
            clsSerializer   cDataXml        = new clsSerializer();
            clsResultados   cResultados     = new clsResultados();
            clsParametros   cParametros     = new clsParametros();
            VO_ServiceAddRQ vo_ServiceAddRQ = getParametros(sId);

            try
            {
                string sAdulto = clsValidaciones.GetKeyOrAdd("AdultoHB", "AD");

                string sInfante = clsValidaciones.GetKeyOrAdd("InfanteHB", "CH");

                string             sXml       = clsEstilosXmlHB.ServiceAddRQ_Hotel + ".xml";
                string             sRuta      = clsConfiguracionHB.RutaArchivosXml;
                string             sUrl       = clsConfiguracionHB.UrlWebService;
                XmlDocument        xmlDoc     = cDataXml.RecuperarXML(sRuta, sXml);
                clsInterfaceWSHttp cInterface = new clsInterfaceWSHttp();

                clsCredencialesHB cCredenciales = new clsCredencialesHB();

                xmlDoc = cCredenciales.Credenciales(xmlDoc, vo_ServiceAddRQ.Credentials, clsEstilosXmlHB.ServiceAddRQ_Hotel, false);

                xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "availToken", "Service", vo_ServiceAddRQ.AvailToken);
                xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "code", "IncomingOffice", vo_ServiceAddRQ.IncomingOffice);
                xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "date", "DateFrom", vo_ServiceAddRQ.DateFrom);
                xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "date", "DateTo", vo_ServiceAddRQ.DateTo);

                xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "code", "Destination", vo_ServiceAddRQ.HotelInfo.Destination);
                xmlDoc = cDataXml.AsignarParametro(xmlDoc, "Code", vo_ServiceAddRQ.HotelInfo.Code, 0);
                xmlDoc = cDataXml.AsignarParametro(xmlDoc, "Name", vo_ServiceAddRQ.ContractName, 0);

                int intHabitaciones = vo_ServiceAddRQ.lHotelOccupancy.Count;

                XmlNode objNodoGen    = cDataXml.AsignarNodo(xmlDoc, "AvailableRoom", 0);
                XmlNode objNodeAgeGen = cDataXml.AsignarNodo(xmlDoc, "GuestList", 0);

                int iInfant = 0;

                for (int intIndex = 0; intIndex < intHabitaciones; intIndex++)
                {
                    XmlNode objNodo = null;

                    // La primera vez actualiza el elemento, las otras veces lo copia para adicionarlo
                    if (intIndex == 0)
                    {
                        objNodo = objNodoGen;
                    }
                    else
                    {
                        objNodo = objNodoGen.Clone();
                    }

                    if (intIndex > 0)
                    {
                        cDataXml.AsignarNodo(xmlDoc, "Service", 0).AppendChild(objNodo);
                    }

                    xmlDoc = cDataXml.AsignarParametro(xmlDoc, "RoomCount", vo_ServiceAddRQ.lHotelOccupancy[intIndex].RoomCount.ToString(), intIndex);
                    xmlDoc = cDataXml.AsignarParametro(xmlDoc, "AdultCount", vo_ServiceAddRQ.lHotelOccupancy[intIndex].Occupancy.AdultCount.ToString(), intIndex);
                    xmlDoc = cDataXml.AsignarParametro(xmlDoc, "ChildCount", vo_ServiceAddRQ.lHotelOccupancy[intIndex].Occupancy.ChildCount.ToString(), intIndex);

                    XmlNode objNodoOcupancy = cDataXml.AsignarNodo(xmlDoc, "Occupancy", intIndex);

                    if (vo_ServiceAddRQ.lHotelOccupancy[intIndex].Occupancy.lGuestList.Count == 0)
                    {
                        objNodoOcupancy.RemoveChild(objNodeAgeGen);
                    }
                    else
                    {
                        for (int x = 0; x < vo_ServiceAddRQ.lHotelOccupancy[intIndex].Occupancy.lGuestList.Count; x++)
                        {
                            if (vo_ServiceAddRQ.lHotelOccupancy[intIndex].Occupancy.lGuestList[x].Type == sInfante)
                            {
                                XmlNode objNodoAge = null;

                                // La primera vez actualiza el elemento, las otras veces lo copia para adicionarlo
                                if (x == 0)
                                {
                                    objNodoAge = objNodeAgeGen;
                                }
                                else
                                {
                                    objNodoAge = objNodeAgeGen.Clone();
                                }
                                if (x > 0)
                                {
                                    cDataXml.AsignarNodo(xmlDoc, "GuestList", intIndex).AppendChild(objNodoAge);
                                }

                                xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "type", "Customer", vo_ServiceAddRQ.lHotelOccupancy[intIndex].Occupancy.lGuestList[x].Type, iInfant);
                                xmlDoc = cDataXml.AsignarParametro(xmlDoc, "Age", vo_ServiceAddRQ.lHotelOccupancy[intIndex].Occupancy.lGuestList[x].Age.ToString(), iInfant);
                                iInfant++;
                            }
                            else
                            {
                                XmlNode objNodoAge = null;

                                // La primera vez actualiza el elemento, las otras veces lo copia para adicionarlo
                                if (x == 0)
                                {
                                    objNodoAge = objNodeAgeGen;
                                    xmlDoc     = cDataXml.AsignarAtrributo(xmlDoc, "type", "Customer", vo_ServiceAddRQ.lHotelOccupancy[intIndex].Occupancy.lGuestList[x].Type, iInfant);
                                    xmlDoc     = cDataXml.AsignarParametro(xmlDoc, "Age", vo_ServiceAddRQ.lHotelOccupancy[intIndex].Occupancy.lGuestList[x].Age.ToString(), iInfant);
                                    iInfant++;
                                }
                            }
                        }
                    }
                    //xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "SHRUI", "HotelRoom", vo_ServiceAddRQ.HotelRoom.SHRUI, intIndex);
                    //xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "code", "Board", vo_ServiceAddRQ.HotelRoom.BoardCode, intIndex);
                    //xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "code", "RoomType", vo_ServiceAddRQ.HotelRoom.RoomTypeCode, intIndex);
                    //xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "characteristic", "RoomType", vo_ServiceAddRQ.HotelRoom.RoomTypeCharacteristic, intIndex);

                    xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "SHRUI", "HotelRoom", vo_ServiceAddRQ.lHotelOccupancy[intIndex].HotelRoom.SHRUI, intIndex);
                    xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "code", "Board", vo_ServiceAddRQ.lHotelOccupancy[intIndex].HotelRoom.BoardCode, intIndex);
                    xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "code", "RoomType", vo_ServiceAddRQ.lHotelOccupancy[intIndex].HotelRoom.RoomTypeCode, intIndex);
                    xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "characteristic", "RoomType", vo_ServiceAddRQ.lHotelOccupancy[intIndex].HotelRoom.RoomTypeCharacteristic, intIndex);
                }

                string sXmlRS    = sRuta + clsSolicitudesXmlHB.ServiceAddRS_Hotel + ".xml";
                string sResponse = cInterface.ObtenerHttpWebResponse(xmlDoc.InnerXml, sUrl, clsConfiguracionHB.FormatoXml);
                try
                {
                    cDataXml.SaveXML(sXmlRS, sResponse);
                }
                catch { }
                //// 1
                //string sXmlRS = clsSolicitudesXml.ServiceAddRS_Hotel + ".xml";
                //XmlDocument xmlDocS = cDataXml.RecuperarXML(sRuta, sXmlRS);
                //// 1
                //string sResponse = xmlDocS.InnerXml;

                cResultados.dsResultados = cDataXml.CrearDataSet(sResponse);
                clsSesiones.setReservaHotel(cResultados.dsResultados);
                if (cResultados.dsResultados.Tables.Count < 5)
                {
                    cParametros.Id          = 0;
                    cParametros.Code        = cResultados.dsResultados.Tables[TABLA_ERROR].Rows[0][COLUMN_CODE].ToString();
                    cParametros.Info        = cResultados.dsResultados.Tables[TABLA_ERROR].Rows[0][COLUMN_DETAIL_MESSAGE].ToString();
                    cParametros.Message     = cResultados.dsResultados.Tables[TABLA_ERROR].Rows[0][COLUMN_MESSAGE].ToString();
                    cParametros.Severity    = clsSeveridad.Alta;
                    cParametros.Tipo        = clsTipoError.WebServices;
                    cParametros.Metodo      = "ServiceAddRQ";
                    cParametros.Complemento = "Reserva de Hoteles";
                    cParametros.ViewMessage.Add(cResultados.dsResultados.Tables[TABLA_ERROR].Rows[0][COLUMN_MESSAGE].ToString());
                    cParametros.Sugerencia.Add("Por favor intente de nuevo");
                    cParametros.Code       = "503";
                    cParametros.ValidaInfo = false;
                    cParametros.MessageBD  = true;
                    cParametros.TipoWs     = Enum_ProveedorWebServices.HotelBeds;

                    cResultados.Error = cParametros;
                    ExceptionHandled.Publicar(cParametros);
                }
                else
                {
                    cParametros.Id    = 1;
                    cResultados.Error = cParametros;
                }
            }
            catch (Exception Ex)
            {
                cParametros.Id          = 0;
                cParametros.Code        = "503";
                cParametros.Message     = Ex.Message;
                cParametros.Severity    = clsSeveridad.Alta;
                cParametros.Tipo        = clsTipoError.WebServices;
                cParametros.Metodo      = "ServiceAddRQ";
                cParametros.Complemento = "Reserva de Hoteles";
                cParametros.Source      = Ex.Source;
                cParametros.StackTrace  = Ex.StackTrace;
                cParametros.ViewMessage.Add("No existen resultados para esta búsqueda");
                cParametros.Sugerencia.Add("Por favor intente de nuevo");
                cParametros.ValidaInfo = false;
                cParametros.MessageBD  = true;
                cParametros.TipoWs     = Enum_ProveedorWebServices.HotelBeds;

                cResultados.Error = cParametros;
                ExceptionHandled.Publicar(cParametros);
            }
            return(cResultados);
        }
        public HotelShopRS getHoteles(VO_HotelValuedAvailRQ vo_HotelValuedAvailRQ, string strMoneda, string Ruta)
        {
            clsResultados  cResultados    = new clsResultados();
            clsParametros  cParametros    = new clsParametros();
            StringBuilder  consulta       = new StringBuilder();
            HotelShopRQ    oHotelShopRQ   = new HotelShopRQ();
            HotelShopRS    oHotelShopRS   = new HotelShopRS();
            VO_Credentials vo_Credentials = clsCredenciales.Credenciales(Enum_ProveedorWebServices.TotalTrip);

            vo_HotelValuedAvailRQ.Credentials = vo_Credentials;

            bool bSoloTT = false;

            try
            {
                bSoloTT = bool.Parse(clsValidaciones.GetKeyOrAdd("bSoloTT", "False"));
            }
            catch { }

            try
            {
                string sAdulto  = clsValidaciones.GetKeyOrAdd("AdultoHB", "AD");
                string sInfante = clsValidaciones.GetKeyOrAdd("InfanteHB", "CH");

                int    iRoom      = vo_HotelValuedAvailRQ.lHotelOccupancy.Count;
                Room[] oRoomArray = new Room[iRoom];
                for (int i = 0; i < iRoom; i++)
                {
                    Room  oRoom     = new Room();
                    int   iPax      = vo_HotelValuedAvailRQ.lHotelOccupancy[i].Occupancy.lGuestList.Count;
                    Pax[] oPaxArray = new Pax[iPax];
                    for (int j = 0; j < iPax; j++)
                    {
                        Pax oPax = new Pax();
                        oPax.Age = vo_HotelValuedAvailRQ.lHotelOccupancy[i].Occupancy.lGuestList[j].Age;
                        if (vo_HotelValuedAvailRQ.lHotelOccupancy[i].Occupancy.lGuestList[j].Type.Equals(sAdulto))
                        {
                            oPax.PaxType = PaxType.Adult;
                        }
                        else
                        {
                            oPax.PaxType = PaxType.Child;
                        }

                        oPaxArray[j] = oPax;
                    }
                    oRoom.Paxes   = oPaxArray;
                    oRoomArray[i] = oRoom;
                }

                oHotelShopRQ.CityTo   = vo_HotelValuedAvailRQ.Destination;
                oHotelShopRQ.DateFrom = DateTime.Parse(clsValidaciones.ConverFechaSinSeparadorYMD(vo_HotelValuedAvailRQ.CheckInDate));
                oHotelShopRQ.DateTo   = DateTime.Parse(clsValidaciones.ConverFechaSinSeparadorYMD(vo_HotelValuedAvailRQ.CheckOutDate));
                oHotelShopRQ.Rooms    = oRoomArray;
                oHotelShopRQ.Username = vo_Credentials.LoginUser;
                oHotelShopRQ.Password = vo_Credentials.PasswordUser;
                oHotelShopRQ.Currency = strMoneda;
                oHotelShopRQ.Language = "ES";
                int iResultados = Convert.ToInt32(clsValidaciones.GetKeyOrAdd("CantidadRHoteles", "500"));

                try
                {
                    if (HttpContext.Current.Session["$CantHoteles"] != null)
                    {
                        iResultados = Convert.ToInt32(HttpContext.Current.Session["$CantHoteles"].ToString());
                    }
                }
                catch { }

                oHotelShopRQ.MaxResults = iResultados;
                if (bSoloTT)
                {
                    oHotelShopRQ.ContentType = ContentType.Exclusive;
                }
                else
                {
                    oHotelShopRQ.ContentType = ContentType.NonExclusive;
                }

                HotelShopService oHotelShopService = new HotelShopService();
                oHotelShopService.Url = clsEsquema.setConexionWs(oHotelShopService.Url);

                string sRutaGen     = Ruta;
                string sHotelShopRQ = "HotelShopRQ";
                string sHotelShopRS = "HotelShopRS";
                try
                {
                    clsXML.ClaseXML(oHotelShopRQ, sRutaGen + sHotelShopRQ + "hilo.xml");
                }
                catch { }

                oHotelShopRS = oHotelShopService.HotelShop(oHotelShopRQ);
                try
                {
                    clsXML.ClaseXML(oHotelShopRS, sRutaGen + sHotelShopRS + "hilo.xml");
                }
                catch { }
            }
            catch (Exception Ex)
            {
                cParametros.Id          = 0;
                cParametros.Message     = Ex.Message;
                cParametros.Severity    = clsSeveridad.Alta;
                cParametros.Tipo        = clsTipoError.WebServices;
                cParametros.Metodo      = System.Reflection.MethodBase.GetCurrentMethod().Name;
                cParametros.Complemento = "Resultados de Hoteles";
                cParametros.Source      = Ex.Source;

                consulta.AppendLine("Credenciales: ");
                try
                {
                    if (vo_Credentials != null)
                    {
                        consulta.AppendLine("User: "******"Password: "******"Url: " + vo_Credentials.UrlWebServices);
                        clsCache cCache = new csCache().cCache();
                        if (cCache != null)
                        {
                            consulta.AppendLine("Sesion Local: " + cCache.SessionID.ToString());
                        }
                    }
                }
                catch { }
                cParametros.Info = consulta.ToString();

                cParametros.StackTrace = Ex.StackTrace;
                cParametros.ViewMessage.Add("No existen resultados para esta búsqueda");
                cParametros.Sugerencia.Add("Por favor intente de nuevo");
                cParametros.Code       = "501";
                cParametros.ValidaInfo = false;
                cParametros.MessageBD  = true;
                cParametros.TipoWs     = Enum_ProveedorWebServices.TotalTrip;
                cResultados.Error      = cParametros;
                ExceptionHandled.Publicar(cParametros);
            }
            return(oHotelShopRS);
        }
        public clsResultados getServices(VO_PurchaseReference vo_PurchaseReference)
        {
            clsSerializer cDataXml    = new clsSerializer();
            clsResultados cResultados = new clsResultados();
            clsParametros cParametros = new clsParametros();
            string        sesion      = new clsCacheControl().CrearSession() + HttpContext.Current.Session.SessionID.ToString();

            //VO_PurchaseReference vo_PurchaseReference = clsSesiones.getPurchaseReference();
            try
            {
                string             sXml       = clsEstilosXmlHB.PurchaseCancelRQ + ".xml";
                string             sRuta      = clsConfiguracionHB.RutaArchivosXml;
                XmlDocument        xmlDoc     = cDataXml.RecuperarXML(sRuta, sXml);
                clsInterfaceWSHttp cInterface = new clsInterfaceWSHttp();

                clsCredencialesHB cCredenciales = new clsCredencialesHB();

                VO_Credentials vo_Credentials = new VO_Credentials();

                try { vo_Credentials.Language = ConfigurationManager.AppSettings[clsSesiones.getIdioma()].ToString(); }
                catch { vo_Credentials.Language = "CAS"; }


                vo_Credentials.User              = clsConfiguracionHB.User;
                vo_Credentials.Password          = clsConfiguracionHB.Password;
                vo_Credentials.SessionId         = sesion;
                vo_Credentials.UrlWebServices    = clsConfiguracionHB.UrlWebService;
                vo_PurchaseReference.Credentials = vo_Credentials;
                xmlDoc = cCredenciales.Credenciales(xmlDoc, vo_PurchaseReference.Credentials, clsEstilosXmlHB.PurchaseCancelRQ, false);

                xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "code", "IncomingOffice", vo_PurchaseReference.IncomingOffice);
                xmlDoc = cDataXml.AsignarParametro(xmlDoc, "FileNumber", vo_PurchaseReference.FileNumber, 0);
                string sXmlRS    = sRuta + clsSolicitudesXmlHB.PurchaseCancelRS + ".xml";
                string sResponse = cInterface.ObtenerHttpWebResponse(xmlDoc.InnerXml, vo_PurchaseReference.Credentials.UrlWebServices, clsConfiguracionHB.FormatoXml);

                cDataXml.SaveXML(sXmlRS, sResponse);

                cResultados.dsResultados = cDataXml.CrearDataSet(sResponse);
                if (cResultados.dsResultados.Tables.Count < 5)
                {
                    cParametros.Id          = 0;
                    cParametros.Tipo        = clsTipoError.WebServices;
                    cParametros.Metodo      = "PurchaseCancelRQ";
                    cParametros.Complemento = "Cancelacion de Hoteles";
                    cParametros.ViewMessage.Add("No existen resultados para esta búsqueda");
                    cParametros.Sugerencia.Add("Por favor intente de nuevo");
                    cParametros.Code       = "0";
                    cParametros.ValidaInfo = false;
                    cParametros.MessageBD  = true;
                    cParametros.TipoWs     = Enum_ProveedorWebServices.HotelBeds;

                    cResultados.Error = cParametros;
                    ExceptionHandled.Publicar(cParametros);
                }
                else
                {
                    cParametros.Id    = 1;
                    cResultados.Error = cParametros;
                }
            }
            catch (Exception Ex)
            {
                cParametros.Id          = 0;
                cParametros.Message     = Ex.Message;
                cParametros.Severity    = clsSeveridad.Alta;
                cParametros.Tipo        = clsTipoError.WebServices;
                cParametros.Metodo      = "PurchaseCancelRQ";
                cParametros.Complemento = "Cancelacion de Hoteles";
                cParametros.Source      = Ex.Source;
                cParametros.StackTrace  = Ex.StackTrace;
                cParametros.ViewMessage.Add("No existen resultados para esta búsqueda");
                cParametros.Sugerencia.Add("Por favor intente de nuevo");
                cParametros.Code       = "0";
                cParametros.ValidaInfo = false;
                cParametros.MessageBD  = true;
                cParametros.TipoWs     = Enum_ProveedorWebServices.HotelBeds;

                cResultados.Error = cParametros;
                ExceptionHandled.Publicar(cParametros);
            }
            return(cResultados);
        }
        public clsResultados getServices()
        {
            clsResultados  cResultados    = new clsResultados();
            clsParametros  cParametros    = new clsParametros();
            StringBuilder  consulta       = new StringBuilder();
            VO_Credentials vo_Credentials = clsCredenciales.Credenciales(Enum_ProveedorWebServices.TotalTrip);

            try
            {
                cResultados.dsResultados = clsSesiones.getReservaHotel();
                VO_HotelValuedAvailRQ vo_HotelValuedAvailRQ = clsSesiones.getParametrosHotel();

                HotelConfirmRQ oHotelConfirmRQ = new HotelConfirmRQ();
                HotelConfirmRS oHotelConfirmRS = new HotelConfirmRS();

                HotelFare oHotelFare = getHotelFare(cResultados.dsResultados);
                oHotelConfirmRQ.HotelFare = oHotelFare;

                oHotelConfirmRQ.Username = vo_Credentials.LoginUser;
                oHotelConfirmRQ.Password = vo_Credentials.PasswordUser;

                HotelConfirmService oHotelConfirmService = new HotelConfirmService();
                oHotelConfirmService.Url = clsEsquema.setConexionWs(oHotelConfirmService.Url);
                string   sRutaGen        = clsValidaciones.XMLDatasetCrea();
                string   sHotelConfirmRQ = "HotelConfirmRQ";
                string   sHotelConfirmRS = "HotelConfirmRS";
                clsCache cCache          = new csCache().cCache();
                try
                {
                    if (cCache != null)
                    {
                        sHotelConfirmRQ += cCache.SessionID;
                        sHotelConfirmRS += cCache.SessionID;
                    }
                }
                catch { }
                try
                {
                    clsXML.ClaseXML(oHotelConfirmRQ, sRutaGen + sHotelConfirmRQ + ".xml");
                }
                catch { }

                oHotelConfirmRS = oHotelConfirmService.HotelConfirm(oHotelConfirmRQ);
                bool bCambioTarifa = getValidaCambioTarifa(oHotelFare, oHotelConfirmRS.HotelFare);

                try
                {
                    clsXML.ClaseXML(oHotelConfirmRS, sRutaGen + sHotelConfirmRS + ".xml");
                }
                catch { }

                cParametros = new clsEsquema().GetDatasetConfirmaReserva(cResultados.dsResultados, oHotelConfirmRS, bCambioTarifa);
                if (!cParametros.Id.Equals(0))
                {
                    clsSesiones.setReservaHotel(cResultados.dsResultados);
                    cResultados.Error = cParametros;
                }
                else
                {
                    cParametros.Id       = 0;
                    cParametros.Message  = cResultados.dsResultados.Tables[clsEsquema.TABLA_ERROR].Rows[0][clsEsquema.COLUMN_MESSAGE].ToString();
                    cParametros.Severity = clsSeveridad.Alta;
                    cParametros.Tipo     = clsTipoError.WebServices;
                    cParametros.Metodo   = "HotelConfirmRQ";
                    consulta.AppendLine("Credenciales: ");
                    try
                    {
                        if (vo_Credentials != null)
                        {
                            consulta.AppendLine("User: "******"Password: "******"Url: " + vo_Credentials.UrlWebServices);
                            if (cCache != null)
                            {
                                consulta.AppendLine("Sesion Local: " + cCache.SessionID.ToString());
                            }
                        }
                    }
                    catch { }
                    cParametros.Info        = consulta.ToString();
                    cParametros.Complemento = "Resultados de Hoteles";
                    cParametros.ViewMessage.Add("No existen resultados para esta búsqueda");
                    cParametros.Sugerencia.Add("Por favor intente de nuevo");
                    cParametros.Code       = "502";
                    cParametros.ValidaInfo = false;
                    cParametros.MessageBD  = true;
                    cParametros.TipoWs     = Enum_ProveedorWebServices.TotalTrip;

                    cResultados.Error = cParametros;
                    ExceptionHandled.Publicar(cParametros);
                }
            }
            catch (Exception Ex)
            {
                cParametros.Id          = 0;
                cParametros.Message     = Ex.Message;
                cParametros.Severity    = clsSeveridad.Alta;
                cParametros.Tipo        = clsTipoError.WebServices;
                cParametros.Metodo      = System.Reflection.MethodBase.GetCurrentMethod().Name;
                cParametros.Complemento = "Confirmacion de reserva de Hoteles";
                cParametros.Source      = Ex.Source;
                consulta.AppendLine("Credenciales: ");
                try
                {
                    if (vo_Credentials != null)
                    {
                        consulta.AppendLine("User: "******"Password: "******"Url: " + vo_Credentials.UrlWebServices);
                        clsCache cCache = new csCache().cCache();
                        if (cCache != null)
                        {
                            consulta.AppendLine("Sesion Local: " + cCache.SessionID.ToString());
                        }
                    }
                }
                catch { }
                cParametros.Info       = consulta.ToString();
                cParametros.StackTrace = Ex.StackTrace;
                cParametros.ViewMessage.Add("La reserva no se confirmo");
                cParametros.Sugerencia.Add("Por favor intente de nuevo");
                cParametros.Code       = "502";
                cParametros.ValidaInfo = false;
                cParametros.MessageBD  = true;
                cParametros.TipoWs     = Enum_ProveedorWebServices.TotalTrip;
                cResultados.Error      = cParametros;
                ExceptionHandled.Publicar(cParametros);
            }
            return(cResultados);
        }
        public static clsResultados SubirReserva(string sReserva, Enum_ProveedorWebServices eWebServices)
        {
            clsParametros cParametros = new clsParametros();
            clsResultados cResultados = new clsResultados();
            csReservas    csRes       = new csReservas();

            cParametros.Id = 1;
            try
            {
                switch (eWebServices)
                {
                case Enum_ProveedorWebServices.Sabre:
                    cResultados = SubirReservaSabre(sReserva, "0", "0");
                    break;

                default:
                    break;
                }
                try
                {
                    // Verifica si trae resultados
                    if (!cResultados.Error.Id.Equals(0))
                    {
                        cParametros = csRes.GuardaReservaGen(cResultados.dsResultados);
                        if (cParametros.Id.Equals(0))
                        {
                            cParametros.ViewMessage = new List <string>();
                            cParametros.Sugerencia  = new List <string>();

                            cParametros.ViewMessage.Add("La reserva no se subio, o ya se encuentar cargada");
                            cParametros.Sugerencia.Add("Por favor revise");

                            cResultados.Error = cParametros;
                        }
                    }
                }
                catch (Exception Ex)
                {
                    cParametros.Id          = 0;
                    cParametros.Message     = Ex.Message.ToString();
                    cParametros.Source      = Ex.Source.ToString();
                    cParametros.Tipo        = clsTipoError.Library;
                    cParametros.Severity    = clsSeveridad.Moderada;
                    cParametros.StackTrace  = Ex.StackTrace.ToString();
                    cParametros.Complemento = "guardar reserva ";
                    ExceptionHandled.Publicar(cParametros);
                    cResultados.Error = cParametros;
                }
            }
            catch (Exception Ex)
            {
                cParametros.Id          = 0;
                cParametros.Message     = Ex.Message.ToString();
                cParametros.Source      = Ex.Source.ToString();
                cParametros.Tipo        = clsTipoError.Library;
                cParametros.Severity    = clsSeveridad.Moderada;
                cParametros.StackTrace  = Ex.StackTrace.ToString();
                cParametros.Complemento = "WebServices ";
                ExceptionHandled.Publicar(cParametros);
                cResultados.Error = cParametros;
            }
            return(cResultados);
        }
        public clsResultados getServices(VO_HotelValuedAvailRQ vo_HotelValuedAvailRQ)
        {
            clsSerializer cDataXml    = new clsSerializer();
            clsResultados cResultados = new clsResultados();
            clsParametros cParametros = new clsParametros();

            try
            {
                string sesion = new clsCacheControl().CrearSession() + HttpContext.Current.Session.SessionID.ToString();
                try
                {
                    if (sesion.Length > 25)
                    {
                        sesion = sesion.Substring(0, 25);
                    }
                }
                catch { }
                string sAdulto = clsValidaciones.GetKeyOrAdd("AdultoHB", "AD");

                string sInfante = clsValidaciones.GetKeyOrAdd("InfanteHB", "CH");

                string sRuta = clsConfiguracionHB.RutaArchivosXml;
                string sXml  = clsEstilosXmlHB.HotelValuedAvailRQ + ".xml";
                //string sXmlCopia = sRuta + clsEstilosXmlHB.HotelValuedAvailRQ + "_" + sesion + ".xml";
                if (vo_HotelValuedAvailRQ.Zone != null)
                {
                    sXml = clsEstilosXmlHB.HotelValuedAvailZoneRQ + ".xml";
                    //sXmlCopia = sRuta + clsEstilosXmlHB.HotelValuedAvailZoneRQ + "_" + sesion + ".xml";
                }

                XmlDocument        xmlDoc     = cDataXml.RecuperarXML(sRuta, sXml);
                clsInterfaceWSHttp cInterface = new clsInterfaceWSHttp();

                VO_Credentials vo_Credentials = new VO_Credentials();

                try { vo_Credentials.Language = ConfigurationManager.AppSettings[clsSesiones.getIdioma()].ToString(); }
                catch { vo_Credentials.Language = "CAS"; }

                vo_Credentials.User               = clsConfiguracionHB.User;
                vo_Credentials.Password           = clsConfiguracionHB.Password;
                vo_Credentials.SessionId          = sesion;
                vo_Credentials.UrlWebServices     = clsConfiguracionHB.UrlWebService;
                vo_HotelValuedAvailRQ.Credentials = vo_Credentials;
                clsSesiones.setParametrosHotel(vo_HotelValuedAvailRQ);
                //cDataXml.ClaseXML(vo_HotelValuedAvailRQ, clsEstilosXml.HotelValuedAvailRQ);
                clsCredencialesHB cCredenciales = new clsCredencialesHB();
                xmlDoc = cCredenciales.Credenciales(xmlDoc, vo_HotelValuedAvailRQ.Credentials, clsEstilosXmlHB.HotelValuedAvailRQ, true);

                xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "pageNumber", "PaginationData", vo_HotelValuedAvailRQ.PaginationData);
                if (HttpContext.Current.Session["$Busqueda"] != null)
                {
                    xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "itemsPerPage", "PaginationData", "2000");
                }
                if (HttpContext.Current.Session["$Estrellas"] != null)
                {
                    string cadena = "<CategoryList><HotelCategory type=" + '"' + "SIMPLE" + '"' + " code=" + '"' + HttpContext.Current.Session["$Estrellas"].ToString() + "EST" + '"' + "/><HotelCategory type=" + '"' + "SIMPLE" + '"' + " code=" + '"' + HttpContext.Current.Session["$Estrellas"].ToString() + "LL" + '"' + "/><HotelCategory type=" + '"' + "SIMPLE" + '"' + " code=" + '"' + "H" + HttpContext.Current.Session["$Estrellas"].ToString() + "_5" + '"' + "/></CategoryList>";
                    xmlDoc.InnerXml = xmlDoc.InnerXml.Replace("$", cadena);
                }
                xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "date", "CheckInDate", vo_HotelValuedAvailRQ.CheckInDate);
                xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "date", "CheckOutDate", vo_HotelValuedAvailRQ.CheckOutDate);
                xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "code", "Destination", vo_HotelValuedAvailRQ.Destination);
                if (vo_HotelValuedAvailRQ.Zone != null)
                {
                    xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "code", "Zone", vo_HotelValuedAvailRQ.Zone);
                    if (vo_HotelValuedAvailRQ.Type.Equals(Enum_TypeZone.SIMPLE))
                    {
                        xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "type", "Zone", "SIMPLE");
                    }
                    else
                    {
                        xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "type", "Zone", "GROUP");
                    }
                }

                int intHabitaciones = vo_HotelValuedAvailRQ.lHotelOccupancy.Count;

                XmlNode objNodoGen    = cDataXml.AsignarNodo(xmlDoc, "HotelOccupancy", 0);
                XmlNode objNodeAgeGen = cDataXml.AsignarNodo(xmlDoc, "GuestList", 0);
                int     iInfant       = 0;
                for (int intIndex = 0; intIndex < intHabitaciones; intIndex++)
                {
                    XmlNode objNodo = null;

                    // La primera vez actualiza el elemento, las otras veces lo copia para adicionarlo
                    if (intIndex == 0)
                    {
                        objNodo = objNodoGen;
                    }
                    else
                    {
                        objNodo = objNodoGen.Clone();
                    }

                    if (intIndex > 0)
                    {
                        cDataXml.AsignarNodo(xmlDoc, "OccupancyList", 0).AppendChild(objNodo);
                    }

                    xmlDoc = cDataXml.AsignarParametro(xmlDoc, "RoomCount", vo_HotelValuedAvailRQ.lHotelOccupancy[intIndex].RoomCount.ToString(), intIndex);
                    xmlDoc = cDataXml.AsignarParametro(xmlDoc, "AdultCount", vo_HotelValuedAvailRQ.lHotelOccupancy[intIndex].Occupancy.AdultCount.ToString(), intIndex);
                    xmlDoc = cDataXml.AsignarParametro(xmlDoc, "ChildCount", vo_HotelValuedAvailRQ.lHotelOccupancy[intIndex].Occupancy.ChildCount.ToString(), intIndex);

                    XmlNode objNodoOcupancy = cDataXml.AsignarNodo(xmlDoc, "Occupancy", intIndex);

                    if (vo_HotelValuedAvailRQ.lHotelOccupancy[intIndex].Occupancy.lGuestList.Count == 0)
                    {
                        objNodoOcupancy.RemoveChild(objNodeAgeGen);
                    }
                    else
                    {
                        for (int x = 0; x < vo_HotelValuedAvailRQ.lHotelOccupancy[intIndex].Occupancy.lGuestList.Count; x++)
                        {
                            if (vo_HotelValuedAvailRQ.lHotelOccupancy[intIndex].Occupancy.lGuestList[x].Type == sInfante)
                            {
                                XmlNode objNodoAge = null;

                                // La primera vez actualiza el elemento, las otras veces lo copia para adicionarlo
                                if (x == 0)
                                {
                                    objNodoAge = objNodeAgeGen;
                                }
                                else
                                {
                                    objNodoAge = objNodeAgeGen.Clone();
                                }
                                if (x > 0)
                                {
                                    cDataXml.AsignarNodo(xmlDoc, "GuestList", intIndex).AppendChild(objNodoAge);
                                    //cDataXml.AsignarNodo(xmlDoc, "Customer", intIndex).AppendChild(objNodoAge);
                                }
                                xmlDoc = cDataXml.AsignarAtrributo(xmlDoc, "type", "Customer", vo_HotelValuedAvailRQ.lHotelOccupancy[intIndex].Occupancy.lGuestList[x].Type, iInfant);
                                xmlDoc = cDataXml.AsignarParametro(xmlDoc, "Age", vo_HotelValuedAvailRQ.lHotelOccupancy[intIndex].Occupancy.lGuestList[x].Age.ToString(), iInfant);
                                iInfant++;
                            }
                            else
                            {
                                XmlNode objNodoAge = null;

                                // La primera vez actualiza el elemento, las otras veces lo copia para adicionarlo
                                if (x == 0)
                                {
                                    objNodoAge = objNodeAgeGen;
                                    xmlDoc     = cDataXml.AsignarAtrributo(xmlDoc, "type", "Customer", vo_HotelValuedAvailRQ.lHotelOccupancy[intIndex].Occupancy.lGuestList[x].Type, iInfant);
                                    xmlDoc     = cDataXml.AsignarParametro(xmlDoc, "Age", vo_HotelValuedAvailRQ.lHotelOccupancy[intIndex].Occupancy.lGuestList[x].Age.ToString(), iInfant);
                                    iInfant++;
                                }
                            }
                        }
                    }
                }
                string sXmlRS    = sRuta + clsSolicitudesXmlHB.HotelValuedAvailRS + "_pag_" + vo_HotelValuedAvailRQ.PaginationData.ToString() + ".xml";
                string sResponse = cInterface.ObtenerHttpWebResponse(xmlDoc.InnerXml, vo_HotelValuedAvailRQ.Credentials.UrlWebServices, clsConfiguracionHB.FormatoXml);

                //try
                //{
                //    //cDataXml.SaveXML(sXmlCopia, xmlDoc.InnerXml);
                //    cDataXml.SaveXML(sXmlRS, sResponse);
                //}
                //catch { }
                cResultados.dsResultados = cDataXml.CrearDataSet(sResponse);
                //try
                //{
                //cDataXml.SaveXML(sXmlCopia, xmlDoc.InnerXml);
                //cDataXml.DatasetXML(cResultados.dsResultados, "HotelBeds");
                //}
                //catch { }

                clsSesiones.setResultadoHotel(cResultados.dsResultados);
                if (cResultados.dsResultados.Tables.Count < 5)
                {
                    cParametros.Id          = 0;
                    cParametros.Code        = cResultados.dsResultados.Tables[TABLA_ERROR].Rows[0][COLUMN_CODE].ToString();
                    cParametros.Info        = cResultados.dsResultados.Tables[TABLA_ERROR].Rows[0][COLUMN_DETAIL_MESSAGE].ToString();
                    cParametros.Message     = cResultados.dsResultados.Tables[TABLA_ERROR].Rows[0][COLUMN_MESSAGE].ToString();
                    cParametros.Severity    = clsSeveridad.Alta;
                    cParametros.Tipo        = clsTipoError.WebServices;
                    cParametros.Metodo      = "HotelValuedAvailRQ";
                    cParametros.Complemento = "Resultados de Hoteles";
                    cParametros.ViewMessage.Add("No existen resultados para esta búsqueda");
                    cParametros.Sugerencia.Add("Por favor intente de nuevo");
                    cParametros.Code       = "501";
                    cParametros.ValidaInfo = false;
                    cParametros.MessageBD  = true;
                    cParametros.TipoWs     = Enum_ProveedorWebServices.HotelBeds;

                    cResultados.Error = cParametros;
                    ExceptionHandled.Publicar(cParametros);
                }
                else
                {
                    cParametros.Id    = 1;
                    cResultados.Error = cParametros;
                }
            }
            catch (Exception Ex)
            {
                cParametros.Id          = 0;
                cParametros.Message     = Ex.Message;
                cParametros.Severity    = clsSeveridad.Alta;
                cParametros.Tipo        = clsTipoError.WebServices;
                cParametros.Metodo      = "HotelValuedAvailRQ";
                cParametros.Complemento = "Resultados de Hoteles";
                cParametros.Source      = Ex.Source;
                cParametros.StackTrace  = Ex.StackTrace;
                cParametros.ViewMessage.Add("No existen resultados para esta búsqueda");
                cParametros.Sugerencia.Add("Por favor intente de nuevo");
                cParametros.Code       = "501";
                cParametros.ValidaInfo = false;
                cParametros.MessageBD  = true;
                cParametros.TipoWs     = Enum_ProveedorWebServices.HotelBeds;

                cResultados.Error = cParametros;
                ExceptionHandled.Publicar(cParametros);
            }
            return(cResultados);
        }