public static OTA_AirPriceRQ.MessageHeader __ISabre_OTA_AirPrice() { OTA_AirPriceRQ.MessageHeader Mensaje_ = new OTA_AirPriceRQ.MessageHeader(); VO_Credentials objvo_Credentials = clsSesiones.getCredentials(); try { Mensaje_.ConversationId = objvo_Credentials.Conversacion; DateTime Fecha_ = DateTime.UtcNow; string Tiempo_ = Fecha_.ToString("s") + "Z"; OTA_AirPriceRQ.From Desde_ = new OTA_AirPriceRQ.From(); OTA_AirPriceRQ.PartyId DesdePartyID_ = new OTA_AirPriceRQ.PartyId(); OTA_AirPriceRQ.PartyId[] DesdePartyIdArray_ = new OTA_AirPriceRQ.PartyId[1]; DesdePartyID_.Value = "99999"; DesdePartyIdArray_[0] = DesdePartyID_; Desde_.PartyId = DesdePartyIdArray_; Mensaje_.From = Desde_; OTA_AirPriceRQ.To A_ = new OTA_AirPriceRQ.To(); OTA_AirPriceRQ.PartyId APartyID_ = new OTA_AirPriceRQ.PartyId(); OTA_AirPriceRQ.PartyId[] APartyIdArray_ = new OTA_AirPriceRQ.PartyId[1]; APartyID_.Value = "123123"; APartyIdArray_[0] = APartyID_; A_.PartyId = APartyIdArray_; Mensaje_.To = A_; //------------------------------------------------------------------------------------- OTA_AirPriceRQ.Service Servicio_ = new OTA_AirPriceRQ.Service(); OTA_AirPriceRQ.MessageData MensajeDatos_ = new OTA_AirPriceRQ.MessageData(); Mensaje_.CPAId = objvo_Credentials.Ipcc; Mensaje_.Action = "OTA_AirPriceLLSRQ"; Servicio_.Value = "Air Price"; Mensaje_.Service = Servicio_; MensajeDatos_.MessageId = objvo_Credentials.Mensaje; MensajeDatos_.Timestamp = Tiempo_; Mensaje_.MessageData = MensajeDatos_; } catch (Exception Ex) { throw Ex; } return(Mensaje_); }
public OTA_AirPriceRQ.OTA_AirPriceRS _Sabre_BuscarTarifa(VO_OTA_AirLowFareSearchLLSRQ vo_OTA_AirLowFareSearchLLSRQ) { OTA_AirPriceRQ.OTA_AirPriceRS BargainResultado_ = new OTA_AirPriceRQ.OTA_AirPriceRS(); objvo_Credentials = Ssoft.Utils.clsSesiones.getCredentials(); StringBuilder consulta = new StringBuilder(); clsParametros cParametros = new clsParametros(); cParametros.TipoWs = Enum_ProveedorWebServices.Sabre; try { OTA_AirPriceRQ.MessageHeader Mensaje_ = clsSabreBase.__ISabre_OTA_AirPrice(); if (Mensaje_ != null) { OTA_AirPriceRQ.Security Seguridad_ = new OTA_AirPriceRQ.Security(); Seguridad_.BinarySecurityToken = Session_; OTA_AirPriceRQ.OTA_AirPriceRQ Bargain_ = new OTA_AirPriceRQ.OTA_AirPriceRQ(); OTA_AirPriceRQ.OTA_AirPriceRQPOS BargainPos_ = new OTA_AirPriceRQ.OTA_AirPriceRQPOS(); OTA_AirPriceRQ.OTA_AirPriceRQPOSSource BargainSource_ = new OTA_AirPriceRQ.OTA_AirPriceRQPOSSource(); BargainSource_.PseudoCityCode = objvo_Credentials.Pcc;//ConfigurationManager.AppSettings["Sabre_Ipcc"]; BargainPos_.Source = BargainSource_; Bargain_.POS = BargainPos_; //OTA_AirPriceRQ.OTA_AirPriceRQTravelerInfoSummary Bargain_Info_ = new OTA_AirPriceRQ.OTA_AirPriceRQTravelerInfoSummary(); OTA_AirPriceRQ.OTA_AirPriceRQTravelerInfoSummary oTravelerInfoSummary = new OTA_AirPriceRQ.OTA_AirPriceRQTravelerInfoSummary(); OTA_AirPriceRQ.OTA_AirPriceRQTravelerInfoSummaryTPA_Extensions oTPA_Extensions = new OTA_AirPriceRQ.OTA_AirPriceRQTravelerInfoSummaryTPA_Extensions(); OTA_AirPriceRQ.OTA_AirPriceRQTravelerInfoSummaryTPA_ExtensionsBargainFinder oExtensionsBargainFinder = new OTA_AirPriceRQ.OTA_AirPriceRQTravelerInfoSummaryTPA_ExtensionsBargainFinder(); OTA_AirPriceRQ.OTA_AirPriceRQTravelerInfoSummaryTPA_ExtensionsBargainFinderRebook oRebook = new OTA_AirPriceRQ.OTA_AirPriceRQTravelerInfoSummaryTPA_ExtensionsBargainFinderRebook(); OTA_AirPriceRQ.OTA_AirPriceRQTravelerInfoSummaryTPA_ExtensionsPriceRetention oPriceRetention = new OTA_AirPriceRQ.OTA_AirPriceRQTravelerInfoSummaryTPA_ExtensionsPriceRetention(); //oRebook.Ind = false; //oPriceRetention.Default = true; //oExtensionsBargainFinder.Ind = false; oRebook.Ind = true; oPriceRetention.Default = true; oExtensionsBargainFinder.Ind = true; oExtensionsBargainFinder.Rebook = oRebook; oTPA_Extensions.BargainFinder = oExtensionsBargainFinder; oTPA_Extensions.PriceRetention = oPriceRetention; oTravelerInfoSummary.TPA_Extensions = oTPA_Extensions; #region [ PRICEREQUESTINFORMATION ] string sMonedaCotizar = vo_OTA_AirLowFareSearchLLSRQ.SCodMonedaCotizacion; string sTarifaNegociada = vo_OTA_AirLowFareSearchLLSRQ.SCodTarifaNegociada; OTA_AirPriceRQ.OTA_AirPriceRQTravelerInfoSummaryPriceRequestInformation Bargain_InfoPrice_ = new OTA_AirPriceRQ.OTA_AirPriceRQTravelerInfoSummaryPriceRequestInformation(); OTA_AirPriceRQ.OTA_AirPriceRQTravelerInfoSummaryPriceRequestInformationTPA_Extensions Bargain_InfoPriceTPA_ = new OTA_AirPriceRQ.OTA_AirPriceRQTravelerInfoSummaryPriceRequestInformationTPA_Extensions(); OTA_AirPriceRQ.OTA_AirPriceRQTravelerInfoSummaryPriceRequestInformationTPA_ExtensionsCorporate oTourCode = new OTA_AirPriceRQ.OTA_AirPriceRQTravelerInfoSummaryPriceRequestInformationTPA_ExtensionsCorporate(); OTA_AirPriceRQ.OTA_AirPriceRQTravelerInfoSummaryPriceRequestInformationTPA_ExtensionsAccount oAccountCode = new OTA_AirPriceRQ.OTA_AirPriceRQTravelerInfoSummaryPriceRequestInformationTPA_ExtensionsAccount(); if (clsValidaciones.getValidarString(sTarifaNegociada)) { oAccountCode.Code = sTarifaNegociada; //Bargain_InfoPriceTPA_.Corporate = oTourCode; Bargain_InfoPriceTPA_.Account = oAccountCode; Bargain_InfoPrice_.TPA_Extensions = Bargain_InfoPriceTPA_; if (clsValidaciones.getValidarString(sMonedaCotizar)) { Bargain_InfoPrice_.CurrencyCode = sMonedaCotizar; } oTravelerInfoSummary.PriceRequestInformation = Bargain_InfoPrice_; } else { if (clsValidaciones.getValidarString(sMonedaCotizar)) { Bargain_InfoPrice_.CurrencyCode = sMonedaCotizar; } oTravelerInfoSummary.PriceRequestInformation = Bargain_InfoPrice_; } #endregion System.Collections.Generic.List <VO_Pasajero> lvo_Pasajeros = vo_OTA_AirLowFareSearchLLSRQ.Lvo_Pasajeros; // Para tomar tarifa de niños como en la busqueda normal, pero no retorna resultados reales int iContPaxTotal = 0; if (lvo_Pasajeros != null) { foreach (VO_Pasajero vo_PasajeroTotal in lvo_Pasajeros) { if (vo_PasajeroTotal.SCodigo.Equals("CNN")) { iContPaxTotal += int.Parse(vo_PasajeroTotal.SCantidad); } else { iContPaxTotal++; } } } OTA_AirPriceRQ.OTA_AirPriceRQTravelerInfoSummaryTPA_ExtensionsPassengerType[] oPassengerType_ = new OTA_AirPriceRQ.OTA_AirPriceRQTravelerInfoSummaryTPA_ExtensionsPassengerType[iContPaxTotal]; if (lvo_Pasajeros != null) { int iContador = 0; foreach (VO_Pasajero vo_Pasajero in lvo_Pasajeros) { if (!(vo_Pasajero.SCantidad.Equals("0"))) { if (vo_Pasajero.SCodigo.Equals("CNN")) { foreach (VO_ClasificaPasajero vo_CatPasajero in vo_Pasajero.LvPasajeroNino) { OTA_AirPriceRQ.OTA_AirPriceRQTravelerInfoSummaryTPA_ExtensionsPassengerType oPassengerType = null; oPassengerType = new OTA_AirPriceRQ.OTA_AirPriceRQTravelerInfoSummaryTPA_ExtensionsPassengerType(); oPassengerType.Quantity = vo_CatPasajero.SCantidad; oPassengerType.Code = vo_CatPasajero.SCodigo; oPassengerType.AlternatePassengerType = true; oPassengerType.AlternatePassengerTypeSpecified = true; oPassengerType_.SetValue(oPassengerType, iContador++); } } else { OTA_AirPriceRQ.OTA_AirPriceRQTravelerInfoSummaryTPA_ExtensionsPassengerType oPassengerType = null; oPassengerType = new OTA_AirPriceRQ.OTA_AirPriceRQTravelerInfoSummaryTPA_ExtensionsPassengerType(); oPassengerType.Quantity = vo_Pasajero.SCantidad; oPassengerType.Code = vo_Pasajero.SCodigo; oPassengerType.AlternatePassengerType = true; oPassengerType.AlternatePassengerTypeSpecified = true; oPassengerType_.SetValue(oPassengerType, iContador++); } } } } //int iContPaxTotal = 0; //if (lvo_Pasajeros != null) //{ // iContPaxTotal = lvo_Pasajeros.Count; //} //OTA_AirPriceRQ.OTA_AirPriceRQTravelerInfoSummaryTPA_ExtensionsPassengerType[] oPassengerType_ = new OTA_AirPriceRQ.OTA_AirPriceRQTravelerInfoSummaryTPA_ExtensionsPassengerType[iContPaxTotal]; //if (lvo_Pasajeros != null) //{ // int iContador = 0; // foreach (VO_Pasajero vo_Pasajero in lvo_Pasajeros) // { // if (!(vo_Pasajero.SCantidad.Equals("0"))) // { // OTA_AirPriceRQ.OTA_AirPriceRQTravelerInfoSummaryTPA_ExtensionsPassengerType oPassengerType = null; // oPassengerType = new OTA_AirPriceRQ.OTA_AirPriceRQTravelerInfoSummaryTPA_ExtensionsPassengerType(); // oPassengerType.Quantity = vo_Pasajero.SCantidad; // oPassengerType.Code = vo_Pasajero.SCodigo; // oPassengerType.AlternatePassengerType = true; // oPassengerType.AlternatePassengerTypeSpecified = true; // oPassengerType_.SetValue(oPassengerType, iContador++); // } // } //} Bargain_.TravelerInfoSummary = oTravelerInfoSummary; Bargain_.TravelerInfoSummary.TPA_Extensions.PassengerType = oPassengerType_; //Bargain_.TravelerInfoSummary = oTravelerInfoSummary; //Bargain_.TravelerInfoSummary.TPA_Extensions.PassengerType = oPassengerType_; Bargain_.Version = clsSabreBase.SABRE_VERSION_OTA_AIRPRICE; OTA_AirPriceRQ.OTA_AirPriceService BargainServicio_ = new OTA_AirPriceRQ.OTA_AirPriceService(); BargainServicio_.MessageHeaderValue = Mensaje_; BargainServicio_.SecurityValue = Seguridad_; BargainServicio_.Url = objvo_Credentials.UrlWebServices; BargainResultado_ = BargainServicio_.OTA_AirPriceRQ(Bargain_); // Para verificar la tarifa // //string sComand = "WPP" + "JCB" + "¥NCB"; //string sVenta = Negocios_WebServiceSabreCommand._EjecutarComando(sComand); // Termina if (BargainResultado_.Errors != null) { cParametros.Id = 0; cParametros.Code = BargainResultado_.Errors.Error.ErrorCode; cParametros.Info = BargainResultado_.Errors.Error.ErrorInfo.Message; cParametros.Message = BargainResultado_.Errors.Error.ErrorMessage; cParametros.Severity = BargainResultado_.Errors.Error.Severity; cParametros.Complemento = "HostCommand: " + BargainResultado_.TPA_Extensions.HostCommand; cParametros.Metodo = "_Sabre_BuscarTarifa"; cParametros.Tipo = clsTipoError.WebServices; 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.TipoLog = Enum_Error.Log; ExceptionHandled.Publicar(cParametros); } else { cParametros.Id = 1; cParametros.TipoLog = Enum_Error.Transac; cParametros.Message = BargainResultado_.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 = "_Sabre_BuscarTarifa"; cParametros.Complemento = "HostCommand: " + BargainResultado_.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.StackTrace = Ex.StackTrace; cParametros.Source = Ex.Source; cParametros.TargetSite = Ex.TargetSite.ToString(); cParametros.Severity = clsSeveridad.Alta; cParametros.Metodo = "_Sabre_BuscarTarifa"; cParametros.Tipo = clsTipoError.WebServices; ExceptionHandled.Publicar(cParametros); } return(BargainResultado_); }