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(); }
public void InitRefreshPrenotazione(List <Ingresso> elenco) { // toglie tutte le prenotazioni relative ad ingressi che non esistono piu' // nell'elenco degli ingressi selezionati for (int i = this.Prenotazioni.Count - 1; i >= 0; i--) { bool found = false; foreach (Ingresso item in elenco) { if (item.Oid == this.Prenotazioni[i].Ingresso.Oid) { found = true; } } if (!found) { this.Prenotazioni.RemoveAt(i); } } foreach (Ingresso item in elenco) { PrenotazioneIngresso newPrenotazioneIngresso = null; foreach (PrenotazioneIngresso prenotazioneIngresso in this.Prenotazioni) { if (prenotazioneIngresso.Ingresso.Oid == item.Oid) { newPrenotazioneIngresso = prenotazioneIngresso; } } if (newPrenotazioneIngresso == null) { newPrenotazioneIngresso = new PrenotazioneIngresso(item, this.GestoreProfili.TotalePersone()); this.Prenotazioni.Add(newPrenotazioneIngresso); } else { newPrenotazioneIngresso.NumeroPersone = this.GestoreProfili.TotalePersone(); } } }
public EventoNotificaScheduler(PrenotazioneIngresso prenotazione, int numeroPersone) { Prenotazione = prenotazione; NumeroPersone = numeroPersone; }
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(); }