Exemplo n.º 1
0
        private void xtraTabControlIngressi_SelectedPageChanged(object sender, TabPageChangedEventArgs e)
        {
            if (e.Page == null)
            {
                return;
            }

            // notifico di visualizzare solo la pagina corrente
            foreach (XtraTabPage xtraTabPage in this.xtraTabControlIngressi.TabPages)
            {
                if (xtraTabPage.Controls.Count == 0)
                {
                    continue;
                }

                XtraUserControlCalendario2 ucal = xtraTabPage.Controls[0] as XtraUserControlCalendario2;
                if (ucal != null)
                {
                    if (ucal.NotificaAttivazione(e.Page))
                    {
                        m_ActiveControl = ucal;
                    }
                }
            }

            this.schedulerControlPrenotazioni.Refresh();
        }
Exemplo n.º 2
0
        private void schedulerControlPrenotazioni_EditAppointmentFormShowing(object sender, DevExpress.XtraScheduler.AppointmentFormEventArgs e)
        {
            Prenotazione prenotazione = e.Appointment.GetSourceObject(this.schedulerStoragePrenotazioni) as Prenotazione;

            if (prenotazione != null && prenotazione.Label != Prenotazione.LabelDisabled)
            {
                XtraFormEditPrenotazione formpre = new XtraFormEditPrenotazione();
                formpre.Init(prenotazione);

                if (formpre.ShowDialog(this) == DialogResult.OK)
                {
                    XtraUserControlCalendario2 ucal = this.xtraTabControlIngressi.SelectedTabPage.Controls[0] as XtraUserControlCalendario2;
                    ucal.NotificaAttivazione(this.xtraTabControlIngressi.SelectedTabPage);
                }
            }

            this.schedulerControlPrenotazioni.Refresh();
            e.Handled = true;
        }
Exemplo n.º 3
0
        private bool ErroreSuPrenotazione()
        {
            bool errore = false;

            foreach (XtraTabPage xtraTabPage in this.xtraTabControlIngressi.TabPages)
            {
                if (xtraTabPage.Controls.Count == 0)
                {
                    continue;
                }

                XtraUserControlCalendario2 ucal = xtraTabPage.Controls[0] as XtraUserControlCalendario2;
                if (ucal != null)
                {
                    if (ucal.VerificaStato())
                    {
                        errore = true;
                    }
                }
            }

            return(errore);
        }
Exemplo n.º 4
0
        private void barButtonItemInfo_ItemClick(object sender, ItemClickEventArgs e)
        {
            //XtraFormCodiciPrenotazione codici = new XtraFormCodiciPrenotazione();
            //codici.Init(m_Elenco, m_Prenotazione);

            //if (codici.ShowDialog(this) == DialogResult.OK)
            //{
            //    // aggiorna info
            //    this.barStaticItemInfo2.Caption = m_Prenotazione.RiferimentoVendita;
            //}

            // salva la prenotazione corrente e chiude la finestra

            if (ErroreSuPrenotazione())
            {
                XtraMessageBox.Show("Ci sono errori sulle prenotazioni. Non e' possibile proseguire", "Errore", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            foreach (XtraTabPage xtraTabPage in this.xtraTabControlIngressi.TabPages)
            {
                if (xtraTabPage.Controls.Count == 0)
                {
                    continue;
                }

                XtraUserControlCalendario2 ucal = xtraTabPage.Controls[0] as XtraUserControlCalendario2;
                if (ucal != null)
                {
                    ucal.SalvaTutto();
                }
            }

            saved        = true;
            DialogResult = DialogResult.OK;
        }
Exemplo n.º 5
0
        public void Init(List <Ingresso> elenco, PrenotazioneComplessiva prenotazione)
        {
            CorreggiTimeScale();

            saved = false;

            //this.xpCollectionPrenotazioni = new DevExpress.Xpo.XPCollection(this.unitOfWork1, typeof(Prenotazione));
            for (int i = this.xpCollectionPrenotazioni.Count - 1; i >= 0; i--)
            {
                this.xpCollectionPrenotazioni.Remove(this.xpCollectionPrenotazioni[i]);
            }

            m_Elenco       = elenco;
            m_Prenotazione = prenotazione;
            m_Prenotazione.CollectionPrenotazione = this.xpCollectionPrenotazioni;

            GestoreCalendario.Clear(m_Prenotazione.TipoGS(), m_Prenotazione.TipoScuola(), false);

            //if (string.IsNullOrEmpty(m_Prenotazione.RiferimentoVendita))
            //{
            //    XtraFormAskInfoPrenotazione info = new XtraFormAskInfoPrenotazione();
            //    info.Init(m_Prenotazione);
            //    info.ShowDialog();
            //}

            this.xtraTabControlIngressi.BeginUpdate();
            this.xtraTabControlIngressi.TabPages.Clear();
            //int timespan = 60;

            m_Prenotazione.InitRefreshPrenotazione(m_Elenco);

            foreach (Ingresso item in m_Elenco)
            {
                XtraTabPage pagina = new XtraTabPage();
                pagina.Text = item.DescrizioneBreve;

                PrenotazioneIngresso newPrenotazioneIngresso = null;
                foreach (PrenotazioneIngresso prenotazioneIngresso in m_Prenotazione.Prenotazioni)
                {
                    if (prenotazioneIngresso.Ingresso.Oid == item.Oid)
                    {
                        newPrenotazioneIngresso = prenotazioneIngresso;
                    }
                }

                switch (item.Prenotazione)
                {
                case EnumPrenotazioneIngresso.NonGestita:
                    pagina.Text += ": NG";
                    //pagina.ImageIndex = 0;
                    break;

                case EnumPrenotazioneIngresso.Facoltativa:
                    pagina.Text      += ": FAC";
                    pagina.ImageIndex = 1;
                    break;

                case EnumPrenotazioneIngresso.Consigliata:
                    pagina.Text      += ": CON";
                    pagina.ImageIndex = 2;
                    break;

                case EnumPrenotazioneIngresso.Obbligatoria:
                    pagina.Text      += ": OBL";
                    pagina.ImageIndex = 3;
                    break;
                }

                pagina.Tag = newPrenotazioneIngresso;
                this.xtraTabControlIngressi.TabPages.Add(pagina);

                XtraUserControlCalendario2 ucal = new XtraUserControlCalendario2();
                ucal.Init(newPrenotazioneIngresso, pagina, this.xpCollectionPrenotazioni, this.schedulerControlPrenotazioni, m_Prenotazione);
                ucal.Dock = DockStyle.Fill;
                pagina.Controls.Add(ucal);

                //if (item.DurataSlot(GestoreCalendario.TipoGS) > 0)
                //    timespan = gcd(timespan, item.DurataSlot(GestoreCalendario.TipoGS));
            }

            // attivo la tab relativa alle prenotazioni prevent
            //foreach (XtraTabPage xtraTabPage in this.xtraTabControlIngressi.TabPages)
            //{
            //    m_ActiveControl = xtraTabPage.Controls[0] as XtraUserControlCalendario2;
            //    m_ActiveControl.CreaPrenotazione(false);
            //}

            this.xtraTabControlIngressi.EndUpdate();

            this.xtraTabControlIngressi.SelectedTabPage = this.xtraTabControlIngressi.TabPages[0];
            xtraTabControlIngressi_SelectedPageChanged(null, new TabPageChangedEventArgs(null, this.xtraTabControlIngressi.TabPages[0]));

            this.barStaticItemInfo1.Caption = string.Format("{0} persone per un totale di {1:c}", m_Prenotazione.GestoreProfili.TotalePersone(), m_Prenotazione.GestoreProfili.TotaleImporto());
            this.barStaticItemInfo2.Caption = m_Prenotazione.RiferimentoVendita;
            this.barStaticItemInfoG.Caption = string.Format("TipoGS: {0}", GestoreCalendario.TipoGS);
            this.barStaticItemInfoS.Caption = string.Format("Scuola: {0}", GestoreCalendario.TipoScuola);

            // Imposta la griglia temporale
            //this.schedulerControlPrenotazioni.DayView.TimeSlots.Clear();
            //this.schedulerControlPrenotazioni.WorkWeekView.TimeSlots.Clear();

            //int durata = timespan;
            //while (durata <= 60)
            //{
            //    this.schedulerControlPrenotazioni.DayView.TimeSlots.Add(new DevExpress.XtraScheduler.TimeSlot(new TimeSpan(0, durata, 0), "slotx1"));
            //    this.schedulerControlPrenotazioni.WorkWeekView.TimeSlots.Add(new DevExpress.XtraScheduler.TimeSlot(new TimeSpan(0, durata, 0), "slotx1"));
            //    durata += timespan;
            //}

            //this.schedulerControlPrenotazioni.DayView.TimeScale = new TimeSpan(0, timespan, 0);
            //this.schedulerControlPrenotazioni.WorkWeekView.TimeScale = new TimeSpan(0, timespan, 0);

            this.schedulerControlPrenotazioni.Start = DateTime.Now.Date.AddDays(-1);
            this.schedulerControlPrenotazioni.GoToToday();

            this.schedulerControlPrenotazioni.LimitInterval.Start = DateTime.Now.Date.AddDays(-1);
            this.schedulerControlPrenotazioni.LimitInterval.End   = DateTime.Now.Date.AddDays(20);

            this.schedulerControlPrenotazioni.Refresh();
        }