コード例 #1
0
        public static DataSet GetDatasetSabreAir(AirTicketRS objAirTicketRS)
        {
            /*CREAMOS EL SERIALIZADOR DEL OBJETO*/
            XmlSerializer xmlSerial = new XmlSerializer(typeof(AirTicketRS));
            StringWriter  sWriter   = new StringWriter();

            xmlSerial.Serialize(sWriter, objAirTicketRS);
            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(AirTicketRS), "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);
            }
        }
コード例 #2
0
        public AirTicketRS getAirTicketRS(VO_PrintersTicketsRQ vo_PrintersTicketsRQ)
        {
            /*METODO PRINCICPAL QUE RETORNA EL OBJETO DE RESULTADOS DE SABRE*/
            StringBuilder consulta    = new StringBuilder();
            clsParametros cParametros = new clsParametros();

            cParametros.TipoWs = Enum_ProveedorWebServices.Sabre;
            AirTicketRQ.AirTicketRQ oAirTicketRQ = new WS_SsoftSabre.AirTicketRQ.AirTicketRQ();
            AirTicketRS             oAirTicketRS = new AirTicketRS();

            objvo_Credentials = Ssoft.Utils.clsSesiones.getCredentials();
            try
            {
                List <string>             lsContadorOpciones = new List <string>();
                AirTicketRQ.MessageHeader Mensaje_           = clsSabreBase.AirTicket();

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

                    #region [ POS ]
                    AirTicketRQPOS       oAirTicketRQPOS       = new AirTicketRQPOS();
                    AirTicketRQPOSSource oAirTicketRQPOSSource = new AirTicketRQPOSSource();

                    oAirTicketRQPOSSource.PseudoCityCode = objvo_Credentials.Pcc;//ConfigurationManager.AppSettings["Sabre_Ipcc"];
                    oAirTicketRQPOS.Source = oAirTicketRQPOSSource;
                    oAirTicketRQ.POS       = oAirTicketRQPOS;
                    #endregion

                    #region [ VERSION ]
                    oAirTicketRQ.Version = clsSabreBase.SABRE_VERSION_AIRTICKET;
                    #endregion

                    #region [ DESIGNATEPRINTERS ]

                    AirTicketRQOptionalQualifiers oAirTicketRQOptionalQualifiers = new AirTicketRQOptionalQualifiers();
                    AirTicketRQOptionalQualifiersPricingQualifiers             oPricingQualifiers            = new AirTicketRQOptionalQualifiersPricingQualifiers();
                    AirTicketRQOptionalQualifiersPricingQualifiersBasicPrice[] oPricingQualifiersBasicPrices = new AirTicketRQOptionalQualifiersPricingQualifiersBasicPrice[vo_PrintersTicketsRQ.PQNumber.Count];
                    AirTicketRQOptionalQualifiersMiscQualifiers           oMiscQualifiers           = new AirTicketRQOptionalQualifiersMiscQualifiers();
                    AirTicketRQOptionalQualifiersMiscQualifiersCommission oMiscQualifiersCommission = new AirTicketRQOptionalQualifiersMiscQualifiersCommission();
                    int iPosPQ = 0;
                    foreach (string sPQNumber in vo_PrintersTicketsRQ.PQNumber)
                    {
                        AirTicketRQOptionalQualifiersPricingQualifiersBasicPrice oPricingQualifiersBasicPrice = new AirTicketRQOptionalQualifiersPricingQualifiersBasicPrice();
                        oPricingQualifiersBasicPrice.PQNumber = vo_PrintersTicketsRQ.PQNumber[iPosPQ].ToString();

                        //oPricingQualifiersBasicPrice.EndPQNumber = vo_PrintersTicketsRQ.EndPQNumber;
                        oPricingQualifiersBasicPrices[iPosPQ] = oPricingQualifiersBasicPrice;
                        iPosPQ++;
                    }
                    oPricingQualifiers.BasicPrice = oPricingQualifiersBasicPrices;
                    oAirTicketRQOptionalQualifiers.PricingQualifiers = oPricingQualifiers;

                    oMiscQualifiersCommission.Percentage = vo_PrintersTicketsRQ.CommisionPercent;
                    oMiscQualifiers.Commission           = oMiscQualifiersCommission;

                    oAirTicketRQ.OptionalQualifiers = oAirTicketRQOptionalQualifiers;

                    #endregion

                    AirTicketService oAirTicketService = new AirTicketService();

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

                    oAirTicketRS = oAirTicketService.AirTicketRQ(oAirTicketRQ);
                    if (oAirTicketRS.Errors != null)
                    {
                        cParametros.Id          = 0;
                        cParametros.Code        = oAirTicketRS.Errors.Error.ErrorCode;
                        cParametros.Info        = oAirTicketRS.Errors.Error.ErrorInfo.Message;
                        cParametros.Message     = oAirTicketRS.Errors.Error.ErrorMessage;
                        cParametros.Severity    = oAirTicketRS.Errors.Error.Severity;
                        cParametros.Complemento = "HostCommand: " + oAirTicketRS.TPA_Extensions.HostCommand;
                        cParametros.Metodo      = System.Reflection.MethodBase.GetCurrentMethod().Name;
                        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 ";
                        }
                        ExceptionHandled.Publicar(cParametros);
                        try
                        {
                            Negocios_WebServiceSabreCommand.setEmailError(cParametros, "Error al emitir tiquetes");
                        }
                        catch { }
                    }
                    else
                    {
                        cParametros.Id      = 1;
                        cParametros.Message = oAirTicketRS.Success;
                        cParametros.TipoLog = Enum_Error.Transac;
                        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      = System.Reflection.MethodBase.GetCurrentMethod().Name;
                        cParametros.Complemento = "HostCommand: " + oAirTicketRS.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     = System.Reflection.MethodBase.GetCurrentMethod().Name;
                cParametros.Tipo       = clsTipoError.WebServices;
                ExceptionHandled.Publicar(cParametros);
                try
                {
                    Negocios_WebServiceSabreCommand.setEmailError(cParametros, "Error al Emitir tiquetes");
                }
                catch { }
            }
            return(oAirTicketRS);
        }