public void Init(PrenotazioneIngresso prenotazione, XtraTabPage pagina, XPCollection collectionPrenotazioni, SchedulerControl scheduler, PrenotazioneComplessiva complessiva)
        {
            m_Scheduler              = scheduler;
            m_UnitOfWork             = (UnitOfWork)collectionPrenotazioni.Session;
            m_CollectionMySet        = new XPCollection <Prenotazione>(m_UnitOfWork, false);
            m_CollectionPrenotazioni = collectionPrenotazioni;
            m_Pagina                  = pagina;
            m_Prenotazione            = prenotazione;
            m_PrenotazioneComplessiva = complessiva;
            m_Ingresso                = m_UnitOfWork.GetObjectByKey <Ingresso>(m_Prenotazione.Ingresso.Oid);

            m_PrenotazioneAttiva = prenotazione.Attivo;
            m_PrenotazioneErrore = false;

            CreaPrenotazione(false);

            VerificaStato();
        }
示例#2
0
        public void Init(PrenotazioneComplessiva prenotazione, List <Ingresso> elenco, bool imponiData, DateTime dataImposta, bool prevendita)
        {
            m_Prenotazione = prenotazione;
            m_Elenco       = elenco;
            m_ImponiData   = imponiData;
            m_DataImposta  = dataImposta;
            m_Prevendita   = prevendita;

            m_Prenotazione.StampaSingolaPersona = m_Prenotazione.SoloProfiliSingoli() || m_Prenotazione.CardMusei() || m_Prenotazione.CardMyFE();

            this.labelControlInfo1.Text = String.Format("Totale Biglietti: {0}",
                                                        m_Prenotazione.StampaSingolaPersona ?
                                                        m_Prenotazione.GestoreProfili.TotalePersone() : 1);

            this.labelControlInfo2.Text = String.Format("Totale Persone: {0}", m_Prenotazione.GestoreProfili.TotalePersone());
            if (m_Prenotazione.GestoreProfili.TotalePersoneScuole() > 0)
            {
                this.labelControlInfo2.Text += String.Format(" ({0} scuole)", m_Prenotazione.GestoreProfili.TotalePersoneScuole());
            }

            this.labelControlInfo3.Text = String.Format("Importo Totale: {0:c}", m_Prenotazione.GestoreProfili.TotaleImporto());

            // IMPOSTO CONTANTI
            if (m_Prenotazione.GestoreProfili.TotaleImporto() == 0)
            {
                this.checkEditContanti.Checked = true;
            }
            else if (Program.Postazione.Opzione(Postazione.SoloContanti))
            {
                this.checkEditContanti.Checked = true;
            }

            if (m_Prenotazione.ConPrenotazione())
            {
                this.labelControlRiferimento.Text = "Riferimento:";
                this.textEditRiferimento.Text     = m_Prenotazione.RiferimentoVendita;

                if (m_Prenotazione.PreventObj != null)
                {
                    this.labelControlPrevent.Text = String.Format("Modifica prenotazione: {0}", m_Prenotazione.PreventObj.NumeroPrenotazione);
                }
                //else if (m_Prenotazione.TaskGroup != null)
                //    this.labelControlPrevent.Text = String.Format("Prenotazione: {0}", m_Prenotazione.TaskGroup.Codice);
                else
                {
                    this.labelControlPrevent.Text = "Nuova prenotazione";
                }
            }
            else
            {
                this.labelControlRiferimento.Text = "Senza prenotazione.";
                this.textEditRiferimento.Visible  = false;
                this.labelControlPrevent.Visible  = false;
            }

            // calcola e visualizza data di validità dei biglietti
            if (!m_ImponiData)
            {
                m_DataImposta = DateTime.Now;
            }

            DateTime inizioVal = m_DataImposta.Date;
            DateTime fineVal   = m_DataImposta.Date;

            if (m_Prenotazione.GestoreProfili.Bigliettone() || m_Prenotazione.GestoreProfili.Cumulativo())
            {
                fineVal = inizioVal.AddDays(15);
            }

            if (m_Prenotazione.GestoreProfili.CardMusei())
            {
                fineVal = new DateTime(inizioVal.Year, 12, 31);
            }

            if (m_Prenotazione.ConPrenotazione())
            {
                inizioVal = m_Prenotazione.InizioPrenotazioni(inizioVal);
                fineVal   = m_Prenotazione.FinePrenotazioni(fineVal);
            }

            this.labelControlValidita.Text = string.Format("Validità: dal {0:d} al {1:d}", inizioVal, fineVal);

            //MessageBox.Show(String.Format("{0} / {1}", GestoreCalendario.TipoGS, GestoreCalendario.TipoScuola));
        }
示例#3
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();
        }