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(); }
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; }
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); }
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; }
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(); }