public static OTA_Cancel.MessageHeader OTA_Cancel() { OTA_Cancel.MessageHeader Mensaje_ = new OTA_Cancel.MessageHeader(); VO_Credentials objvo_Credentials = clsSesiones.getCredentials(); try { Mensaje_.ConversationId = objvo_Credentials.Conversacion; DateTime Fecha_ = DateTime.UtcNow; string Tiempo_ = Fecha_.ToString("s") + "Z"; OTA_Cancel.From Desde_ = new OTA_Cancel.From(); OTA_Cancel.PartyId DesdePartyID_ = new OTA_Cancel.PartyId(); OTA_Cancel.PartyId[] DesdePartyIdArray_ = new OTA_Cancel.PartyId[1]; DesdePartyID_.Value = "99999"; DesdePartyIdArray_[0] = DesdePartyID_; Desde_.PartyId = DesdePartyIdArray_; Mensaje_.From = Desde_; OTA_Cancel.To A_ = new OTA_Cancel.To(); OTA_Cancel.PartyId APartyID_ = new OTA_Cancel.PartyId(); OTA_Cancel.PartyId[] APartyIdArray_ = new OTA_Cancel.PartyId[1]; APartyID_.Value = "123123"; APartyIdArray_[0] = APartyID_; A_.PartyId = APartyIdArray_; Mensaje_.To = A_; //------------------------------------------------------------------------------------- OTA_Cancel.Service Servicio_ = new OTA_Cancel.Service(); OTA_Cancel.MessageData MensajeDatos_ = new OTA_Cancel.MessageData(); Mensaje_.CPAId = objvo_Credentials.Ipcc; Mensaje_.Action = "OTA_CancelLLSRQ"; Servicio_.Value = "OTA_Cancel"; Mensaje_.Service = Servicio_; MensajeDatos_.MessageId = objvo_Credentials.Mensaje; MensajeDatos_.Timestamp = Tiempo_; Mensaje_.MessageData = MensajeDatos_; } catch (Exception Ex) { throw Ex; } return(Mensaje_); }
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_); }