internal void Init(DatiReportBv2 dati) { this.bindingSource1.Add(dati); this.xrLabelPeriodo.Text = string.Format("Periodo: dal {0:d} al {1:d}", dati.Inizio, dati.Fine); this.xrLabelH1.Text = string.Format("Biglietti emessi da altri musei per {0}", dati.Struttura); this.xrLabelH2.Text = string.Format("Biglietti cumulativi emessi da altri per {0}", dati.Struttura); }
private void simpleButtonReport_Click(object sender, EventArgs e) { if (this.dateEditFine.DateTime.Date >= DateTime.Now.Date) { XtraMessageBox.Show("Data Fine non può essere maggiore della data odierna", "Errore", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } _Struttura = this.lookUpEdit1.EditValue as Struttura; if (_Struttura != null) { _Dati = new DatiReportBv2 { PerAltri = new List <VendutiPerTerzi>(), Cumulativi = new List <Cumulativi>(), Inizio = this.dateEditInizio.DateTime, Fine = this.dateEditFine.DateTime, Struttura = _Struttura.Descrizione }; XPCollection <Vendita> vendite = new XPCollection <Vendita>(this.unitOfWork1); vendite.Criteria = new GroupOperator(GroupOperatorType.And, new CriteriaOperator[] { new BinaryOperator("DataContabile", this.dateEditInizio.DateTime, BinaryOperatorType.GreaterOrEqual), new BinaryOperator("DataContabile", this.dateEditFine.DateTime, BinaryOperatorType.LessOrEqual) }); foreach (Vendita item in vendite) { // vendita effettuata da questa struttura foreach (RigaVenditaVariante rigaVenditaVariante in item.RigheVenditaVariante) { List <Struttura> strutture = new List <Struttura>(); int numeroIngressi = rigaVenditaVariante.Variante.Biglietto.Percorso.Ingressi.Count; int questaStruttura = 0; foreach (Ingresso ingresso in rigaVenditaVariante.Variante.Biglietto.Percorso.Ingressi) { if (!strutture.Contains(ingresso.Struttura)) { strutture.Add(ingresso.Struttura); } if (ingresso.Struttura == _Struttura) { questaStruttura++; } } if (questaStruttura == numeroIngressi) { // la variante comprende SOLO ingressi di questa struttura SoloQuesta(item, rigaVenditaVariante); } else if (questaStruttura == 0 && strutture.Count == 1) { // solo ALTRI musei SoloAltre(item, rigaVenditaVariante); } else { // cumulativo/card Cumulativo(item, rigaVenditaVariante, strutture); } } } XtraReportBv2 report = new XtraReportBv2(); report.Init(_Dati); report.ShowRibbonPreviewDialog(DevExpress.LookAndFeel.UserLookAndFeel.Default); } }