public static DataSet GetDatasetSabreAir(DesignatePrinterRS objDesignatePrinterRS)
        {
            /*CREAMOS EL SERIALIZADOR DEL OBJETO*/
            XmlSerializer xmlSerial = new XmlSerializer(typeof(DesignatePrinterRS));
            StringWriter  sWriter   = new StringWriter();

            xmlSerial.Serialize(sWriter, objDesignatePrinterRS);
            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(DesignatePrinterRS), "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);
            }
        }
Example #2
0
        public DesignatePrinterRS getDesignatePrinter(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;
            DesignatePrinterRQ.DesignatePrinterRQ oDesignatePrinterRQ = new WS_SsoftSabre.DesignatePrinterRQ.DesignatePrinterRQ();
            DesignatePrinterRS oDesignatePrinterRS = new DesignatePrinterRS();

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

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

                    #region [ POS ]
                    DesignatePrinterRQPOS       oDesignatePrinterRQPOS       = new DesignatePrinterRQPOS();
                    DesignatePrinterRQPOSSource oDesignatePrinterRQPOSSource = new DesignatePrinterRQPOSSource();

                    oDesignatePrinterRQPOSSource.PseudoCityCode = objvo_Credentials.Pcc;//ConfigurationManager.AppSettings["Sabre_Ipcc"];
                    oDesignatePrinterRQPOS.Source = oDesignatePrinterRQPOSSource;
                    oDesignatePrinterRQ.POS       = oDesignatePrinterRQPOS;
                    #endregion

                    #region [ VERSION ]
                    oDesignatePrinterRQ.Version = clsSabreBase.SABRE_VERSION_DESIGNATEPRINTER;
                    #endregion

                    #region [ DESIGNATEPRINTERS ]

                    DesignatePrinterRQPrinters                 oDesignatePrinterRQPrinters                 = new DesignatePrinterRQPrinters();
                    DesignatePrinterRQPrintersHardcopy         oDesignatePrinterRQPrintersHardcopy         = new DesignatePrinterRQPrintersHardcopy();
                    DesignatePrinterRQPrintersInvoiceItinerary oDesignatePrinterRQPrintersInvoiceItinerary = new DesignatePrinterRQPrintersInvoiceItinerary();
                    DesignatePrinterRQPrintersTicket           oDesignatePrinterRQPrintersTicket           = new DesignatePrinterRQPrintersTicket();
                    DesignatePrinterRQPrintersBoardingPass     oDesignatePrinterRQPrintersBoardingPass     = new DesignatePrinterRQPrintersBoardingPass();

                    oDesignatePrinterRQPrintersHardcopy.LineAddress         = vo_PrintersTicketsRQ.PrtItinerario;
                    oDesignatePrinterRQPrintersInvoiceItinerary.LineAddress = vo_PrintersTicketsRQ.PrtInvoice;
                    oDesignatePrinterRQPrintersTicket.LineAddress           = vo_PrintersTicketsRQ.PrtTicket;
                    oDesignatePrinterRQPrintersTicket.CountryCode           = vo_PrintersTicketsRQ.Countrycode;

                    oDesignatePrinterRQPrinters.Hardcopy         = oDesignatePrinterRQPrintersHardcopy;
                    oDesignatePrinterRQPrinters.InvoiceItinerary = oDesignatePrinterRQPrintersInvoiceItinerary;
                    oDesignatePrinterRQPrinters.Ticket           = oDesignatePrinterRQPrintersTicket;

                    oDesignatePrinterRQ.Printers = oDesignatePrinterRQPrinters;

                    #endregion

                    DesignatePrinterService oDesignatePrinterService = new DesignatePrinterService();

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

                    oDesignatePrinterRS = oDesignatePrinterService.DesignatePrinterRQ(oDesignatePrinterRQ);
                    if (oDesignatePrinterRS.Errors != null)
                    {
                        cParametros.Id          = 0;
                        cParametros.Code        = oDesignatePrinterRS.Errors.Error.ErrorCode;
                        cParametros.Info        = oDesignatePrinterRS.Errors.Error.ErrorInfo.Message;
                        cParametros.Message     = oDesignatePrinterRS.Errors.Error.ErrorMessage;
                        cParametros.Severity    = oDesignatePrinterRS.Errors.Error.Severity;
                        cParametros.Complemento = "HostCommand: " + oDesignatePrinterRS.TPA_Extensions.HostCommand;
                        cParametros.Metodo      = "getDesignatePrinter";
                        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);
                    }
                    else
                    {
                        cParametros.Id      = 1;
                        cParametros.Message = oDesignatePrinterRS.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      = "getBusqueda";
                        cParametros.Complemento = "HostCommand: " + oDesignatePrinterRS.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     = "getBusqueda";
                cParametros.Tipo       = clsTipoError.WebServices;
                ExceptionHandled.Publicar(cParametros);
            }
            return(oDesignatePrinterRS);
        }