예제 #1
0
        private static bool Esiste(prevent.get.Out infoPrevent, int idprevent)
        {
            string id = idprevent.ToString();

            foreach (prevent.get.OutRigaPercorsoVisita item in infoPrevent.RigaPercorsoVisita)
            {
                if (item.IdMostra == id)
                {
                    return(true);
                }
            }
            return(false);
        }
예제 #2
0
        private void GetInfo()
        {
            if (!string.IsNullOrEmpty(this.buttonEditCodice.Text))
            {
                XtraMessageBox.Show(string.Format("Non è possibile caricare la prenotazione {0}", this.buttonEditCodice.Text), "Errore", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }

            Cursor saveCursor = Cursor.Current;

            try
            {
                Cursor.Current = Cursors.WaitCursor;

                prevent.get.Out obj = RichiestaGet.MakeGet();
                if (obj != null)
                {
                    this.labelControlInfo1.Text = string.Format("Codice: {0}", obj.NumeroPrenotazione);
                    this.labelControlInfo2.Text = string.Format("Denominazione: {0} (pax. {1})", obj.Denominazione, obj.PaxTotali);
                }
                else
                {
                    if (RichiestaGet.UltimoErrore != null)
                    {
                        this.labelControlInfo1.Text = string.Format("Error Code {0}", RichiestaGet.UltimoErrore.ReturnCode);
                        this.labelControlInfo2.Text = RichiestaGet.UltimoErrore.DescrizioneErrore;
                    }
                    else
                    {
                        this.labelControlInfo1.Text = string.Empty;
                        this.labelControlInfo2.Text = string.Empty;
                    }
                }
            }
            finally
            {
                Cursor.Current = saveCursor;
            }
        }
예제 #3
0
        public static prevent.get.Out MakeGet()
        {
            UltimoErrore = null;

            PreventWebServices.WebReferencePrevent.WSPreventService wsp = new PreventWebServices.WebReferencePrevent.WSPreventService();
            string risposta = string.Empty;

            try
            {
                Console.WriteLine("WS_URL: " + wsp.Url);
                risposta = wsp.book("WinTicket", WsConfig.Username, WsConfig.Password, "G", string.Empty);
            }
            catch (Exception ex)
            {
                UltimoErrore = new prevent.verifica.Out();
                UltimoErrore.DescrizioneErrore = string.Format("Risposta non corretta dal servizio remoto: {0}: {1}", ex.Source, ex.Message);
                UltimoErrore.ReturnCode        = "998";

                risposta = string.Empty;
            }

            if (!string.IsNullOrEmpty(risposta))
            {
                Console.WriteLine(risposta);
                risposta = risposta.Replace("+01:00", string.Empty);
                risposta = risposta.Replace("+02:00", string.Empty);

                try
                {
                    if (!risposta.Contains("ReturnCode"))
                    {
                        MemoryStream    stream = new MemoryStream(Encoding.UTF8.GetBytes(risposta));
                        XmlSerializer   xml    = new XmlSerializer(typeof(prevent.get.Out));
                        prevent.get.Out dati   = (prevent.get.Out)xml.Deserialize(stream);

                        dati.MostraTipo = "0";

                        var mostra = new int[] { 277, 278, 279 };

                        foreach (var num in mostra)
                        {
                            if (risposta.Contains(string.Format("<IdTipoBiglietto>{0}</IdTipoBiglietto>", num)))
                            {
                                dati.MostraTipo = "1";
                            }
                        }

                        return(dati);
                    }
                    else
                    {
                        // errore
                        MemoryStream  stream = new MemoryStream(Encoding.UTF8.GetBytes(risposta));
                        XmlSerializer xml    = new XmlSerializer(typeof(prevent.verifica.Out));
                        UltimoErrore = (prevent.verifica.Out)xml.Deserialize(stream);
                    }
                }
                catch (Exception ex)
                {
                    UltimoErrore = new prevent.verifica.Out();
                    UltimoErrore.DescrizioneErrore = String.Format("Risposta non corretta dal servizio remoto: {0} ({1})", (risposta.Length < 200 ? risposta : string.Empty), ex.Message);
                    UltimoErrore.ReturnCode        = "999";
                }
            }

            return(null);
        }
예제 #4
0
        public static bool Prenota(prevent.prenotazione.Parametri parametri, prevent.get.Out vecchiaprenotazione)
        {
            UltimoErrore = null;
            PreventWebServices.WebReferencePrevent.WSPreventService wsp = new PreventWebServices.WebReferencePrevent.WSPreventService();
            string richiesta = GetXmlRichiesta(parametri);

            if (vecchiaprenotazione != null)
            {
                richiesta = GetXmlRichiesta(CreaUpdate(parametri, vecchiaprenotazione));
            }
            string risposta = string.Empty;

            try
            {
                if (vecchiaprenotazione != null)
                {
                    risposta = wsp.book("WinTicket", WsConfig.Username, WsConfig.Password, "U", richiesta);
                }
                else
                {
                    risposta = wsp.book("WinTicket", WsConfig.Username, WsConfig.Password, "P", richiesta);
                }
            }
            catch (Exception)
            {
                risposta = string.Empty;
            }

            Console.WriteLine(richiesta);
            Console.WriteLine(risposta);

            parametri.CodiceTransWinTicket = string.Empty;

            if (risposta.Contains(@"ReturnCode=""00"""))
            {
                if (vecchiaprenotazione != null)
                {
                    parametri.CodiceTransWinTicket = vecchiaprenotazione.NumeroPrenotazione;
                }
                else
                {
                    int len1 = @"<NumeroPrenotazione>".Length;
                    int pos1 = risposta.IndexOf(@"<NumeroPrenotazione>");
                    int pos2 = risposta.IndexOf(@"</NumeroPrenotazione>");

                    parametri.CodiceTransWinTicket = risposta.Substring(pos1 + len1, pos2 - pos1 - len1);

                    Console.WriteLine(String.Format("PRENOTAZIONE:[{0}]", parametri.CodiceTransWinTicket));
                }

                return(true);
            }
            else
            {
                if (!string.IsNullOrEmpty(risposta))
                {
                    // errore
                    MemoryStream  stream = new MemoryStream(Encoding.UTF8.GetBytes(risposta));
                    XmlSerializer xml    = new XmlSerializer(typeof(prevent.verifica.Out));
                    UltimoErrore = (prevent.verifica.Out)xml.Deserialize(stream);
                }

                return(false);
            }
        }
예제 #5
0
        private static prevent.update.Parametri CreaUpdate(prevent.prenotazione.Parametri parametri, prevent.get.Out vecchiaprenotazione)
        {
            prevent.update.Parametri nuovo = new prevent.update.Parametri();

            nuovo.CodiceTransWinTicket = parametri.CodiceTransWinTicket;
            nuovo.Denominazione        = parametri.Denominazione;
            nuovo.NumeroPrenotazione   = vecchiaprenotazione.NumeroPrenotazione;
            nuovo.PaxTotali            = parametri.PaxTotali;
            nuovo.RigaBiglietti        = new prevent.update.ParametriRigaBiglietti[parametri.RigaBiglietti.Length];
            nuovo.RigaPercorsoVisita   = new prevent.update.ParametriRigaPercorsoVisita[parametri.RigaPercorsoVisita.Length];

            for (int i = 0; i < parametri.RigaBiglietti.Length; i++)
            {
                nuovo.RigaBiglietti[i] = new prevent.update.ParametriRigaBiglietti();
                nuovo.RigaBiglietti[i].IdTipoBiglietto = parametri.RigaBiglietti[i].IdTipoBiglietto;
                nuovo.RigaBiglietti[i].Quantita        = parametri.RigaBiglietti[i].Quantita;
            }

            for (int i = 0; i < parametri.RigaPercorsoVisita.Length; i++)
            {
                nuovo.RigaPercorsoVisita[i]            = new prevent.update.ParametriRigaPercorsoVisita();
                nuovo.RigaPercorsoVisita[i].DataVisita = parametri.RigaPercorsoVisita[i].DataVisita;
                nuovo.RigaPercorsoVisita[i].IdMostra   = parametri.RigaPercorsoVisita[i].IdMostra;
                nuovo.RigaPercorsoVisita[i].OraVisita  = parametri.RigaPercorsoVisita[i].OraVisita;
                nuovo.RigaPercorsoVisita[i].PaxVisita  = parametri.RigaPercorsoVisita[i].PaxVisita;
            }

            nuovo.TipoGS = parametri.TipoGS;
            nuovo.Scuola = parametri.Scuola;

            return(nuovo);
        }