示例#1
0
    public static clsParametros _ADD(List <VO_Remarks> vlRemark, string sRecord)
    {
        clsParametros cParametros = new clsParametros();

        try
        {
            clsOTA_TravelItineraryRead ota_TravelItineraryRead = new clsOTA_TravelItineraryRead();
            OTA_TravelItineraryRS      ota_TravelItineraryRS   = ota_TravelItineraryRead._Sabre_LeerInformacionPNR(sRecord);
            cParametros = new WebService_Remark()._Sabre_AgregarObservaciones(vlRemark);
            Negocios_WebServiceSabreCommand.setER();
            Negocios_WebServiceSession._CerrarSesion();
        }
        catch (Exception Ex)
        {
            cParametros.Id          = 0;
            cParametros.Message     = Ex.Message.ToString();
            cParametros.Source      = Ex.Source.ToString();
            cParametros.Tipo        = clsTipoError.Library;
            cParametros.Severity    = clsSeveridad.Alta;
            cParametros.StackTrace  = Ex.StackTrace.ToString();
            cParametros.Complemento = "Error al ejecutar Reamrk  Sabre";
            ExceptionHandled.Publicar(cParametros);
        }
        return(cParametros);
    }
        public static DataSet GetDatasetSabreAir(OTA_TravelItineraryRS objOTA_TravelItineraryRS)
        {
            /*CREAMOS EL SERIALIZADOR DEL OBJETO*/
            XmlSerializer xmlSerial = new XmlSerializer(typeof(OTA_TravelItineraryRS));
            StringWriter  sWriter   = new StringWriter();

            xmlSerial.Serialize(sWriter, objOTA_TravelItineraryRS);
            XmlDocument xmlDocumento = new XmlDocument();

            /*AGREGAMOS EL STRING DEL OBJETO SERIALIZADO A UN DOCUMENTO XML */
            xmlDocumento.LoadXml(sWriter.ToString());
            DataSet dsDataset = new DataSet();
            /*LEEMOS EL DOCUMENTO  XML Y LO AGREGAMOS AL LECTOR XML*/
            XmlTextReader txtReader = new XmlTextReader(new StringReader(xmlDocumento.OuterXml));

            try
            {
                dsDataset.ReadXmlSchema(Get_XSD_Clase(typeof(OTA_TravelItineraryRS), "http://webservices.sabre.com/sabreXML/2003/07"));
                /*LEEMOS EL XML Y LO AGREGAMOS AL DATASET*/
                try { dsDataset.ReadXml(txtReader, XmlReadMode.Auto); }
                catch { }
                /*CERRAMO EL LECTOR DEL XML*/
                txtReader.Close();
                dsDataset.Dispose();
                /*ACEPTAMOS L0S CAMBIOS EN EL DATASET*/
                dsDataset.AcceptChanges();
                /*RETORNAMOS EL DATASET*/
                return(dsDataset);
            }
            catch (Exception Ex)
            {
                /*SI OCURRE UNA EXCEPCION CUALQUIERA*/
                clsParametros cParametros = new clsParametros();
                cParametros.Id         = 0;
                cParametros.Message    = Ex.Message;
                cParametros.Metodo     = Ex.TargetSite.Name;
                cParametros.Source     = Ex.Source;
                cParametros.StackTrace = Ex.StackTrace;
                cParametros.Severity   = clsSeveridad.Alta;
                cParametros.Tipo       = clsTipoError.WebServices;
                ExceptionHandled.Publicar(cParametros);
                txtReader.Close();
                return(null);
            }
        }
        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_);
        }