private void simpleButtonReport_Click(object sender, EventArgs e)
        {
            //_Soggetto = this.lookUpEdit1.EditValue as SoggettoEconomico;
            _List     = new List <DatiReport03b>();
            _Aperture = new GestoreAperture();
            _Ingressi = new List <Ingresso>();

            //if (_Soggetto == null)
            //{
            //    XtraMessageBox.Show("Selezionare un soggetto");
            //    return;
            //}

            foreach (var item in this.checkedListBoxControl2.CheckedItems)
            {
                Ingresso ingresso = item as Ingresso;
                if (ingresso != null)
                {
                    _Ingressi.Add(ingresso);
                }
            }

            if (_Ingressi.Count == 0)
            {
                XtraMessageBox.Show("Selezionare un ingresso");
                return;
            }

            Cursor saveCursor = Cursor.Current;

            try
            {
                Cursor.Current = Cursors.WaitCursor;

                int      anno   = (int)this.spinEditAnno.Value;
                DateTime inizio = new DateTime(anno, 1, 1);
                DateTime fine   = new DateTime(anno, 12, 31);

                InitList(inizio);

                _Aperture.CaricaApertureIngressi(inizio, fine.AddMonths(1), this.unitOfWork1);

                XPCollection <Vendita> vendite = new XPCollection <Vendita>(this.unitOfWork1);
                vendite.Criteria = new GroupOperator(GroupOperatorType.And, new CriteriaOperator[]
                {
                    new BinaryOperator("DataContabile", inizio, BinaryOperatorType.GreaterOrEqual),
                    new BinaryOperator("DataContabile", fine, BinaryOperatorType.LessOrEqual)
                });

                bool[] mesi = new bool[20];
                foreach (CheckedListBoxItem item in this.checkedListBoxControl1.CheckedItems)
                {
                    mesi[(int)item.Value] = true;
                }

                foreach (Vendita vendita in vendite)
                {
                    if (!mesi[vendita.DataContabile.Month])
                    {
                        continue;
                    }

                    foreach (RigaVenditaVariante riga in vendita.RigheVenditaVariante)
                    {
                        foreach (Ingresso ingresso in riga.Variante.Biglietto.Percorso.Ingressi)
                        {
                            //if (ingresso.SoggettoEconomico == _Soggetto)
                            if (_Ingressi.Contains(ingresso))
                            {
                                AddToList(ingresso, riga.Quantita, vendita.DataContabile, riga.Variante.TipologiaEconomica, riga);
                            }
                        }
                    }
                }

                XPCollection <Entrata> entrate = new XPCollection <Entrata>(this.unitOfWork1);
                entrate.Criteria = new GroupOperator(GroupOperatorType.And, new CriteriaOperator[]
                {
                    new BinaryOperator("DataOraEntrata", inizio, BinaryOperatorType.GreaterOrEqual),
                    new BinaryOperator("DataOraEntrata", fine.AddDays(1), BinaryOperatorType.Less),
                    new NotOperator(new NullOperator("RigaStampaIngresso.Stampa.Card"))
                });

                foreach (var entrata in entrate)
                {
                    if (_Ingressi.Contains(entrata.RigaStampaIngresso.Ingresso))
                    {
                        AddCardToList(mesi, entrata);
                    }
                }


                XtraReport03b report = new XtraReport03b();

                report.Init(_List, anno, this.memoEditInfo.Text);

                report.ShowRibbonPreviewDialog();
            }
            finally
            {
                Cursor.Current = saveCursor;
            }
        }
        private void simpleButtonReport_Click(object sender, EventArgs e)
        {
            //_Ingresso = this.lookUpEdit1.EditValue as Ingresso;
            _List     = new List <DatiReport02>();
            _Ingressi = new List <Ingresso>();
            _Aperture = new GestoreAperture();

            foreach (var item in this.checkedListBoxControl1.CheckedItems)
            {
                Ingresso ingresso = item as Ingresso;
                if (ingresso != null)
                {
                    _Ingressi.Add(ingresso);
                }
            }

            if (_Ingressi.Count == 0)
            {
                XtraMessageBox.Show("Selezionare un ingresso");
                return;
            }

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

            Cursor saveCursor = Cursor.Current;

            try
            {
                Cursor.Current = Cursors.WaitCursor;

                InitList();

                _Aperture.CaricaApertureIngressi(this.dateEditInizio.DateTime, this.dateEditFine.DateTime.AddMonths(1), this.unitOfWork1);

                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)
                {
                    foreach (RigaVenditaVariante rigaVenditaVariante in item.RigheVenditaVariante)
                    {
                        foreach (Ingresso ingresso in rigaVenditaVariante.Variante.Biglietto.Percorso.Ingressi)
                        {
                            if (_Ingressi.Contains(ingresso))
                            {
                                AddToList(rigaVenditaVariante, ingresso);
                            }
                        }
                    }
                }

                XPCollection <Entrata> entrate = new XPCollection <Entrata>(this.unitOfWork1);
                entrate.Criteria = new GroupOperator(GroupOperatorType.And, new CriteriaOperator[]
                {
                    new BinaryOperator("DataOraEntrata", this.dateEditInizio.DateTime, BinaryOperatorType.GreaterOrEqual),
                    new BinaryOperator("DataOraEntrata", this.dateEditFine.DateTime.AddDays(1), BinaryOperatorType.Less),
                    new NotOperator(new NullOperator("RigaStampaIngresso.Stampa.Card"))
                });

                foreach (var entrata in entrate)
                {
                    if (_Ingressi.Contains(entrata.RigaStampaIngresso.Ingresso))
                    {
                        AddCardToList(entrata);
                    }
                }

                foreach (DatiReport02 datiReport02 in _List)
                {
                    datiReport02.CalcolaPercentuali(_List);
                }

                XtraReport02 report = new XtraReport02();

                report.Init(_List, this.dateEditInizio.DateTime, this.dateEditFine.DateTime);

                report.ShowRibbonPreviewDialog();
            }
            finally
            {
                Cursor.Current = saveCursor;
            }
        }
        private void simpleButtonReport_Click(object sender, EventArgs e)
        {
            _AnnoInCorso = this.dateEditInizio.DateTime.Year;
            _Inizio      = this.dateEditInizio.DateTime;
            _Fine        = this.dateEditFine.DateTime;
            //_Soggetto = this.lookUpEdit1.EditValue as SoggettoEconomico;
            _Ingressi = new List <Ingresso>();
            _List     = new List <DatiReport06>();
            _Aperture = new GestoreAperture();

            //if (_Soggetto == null)
            //{
            //    XtraMessageBox.Show("Selezionare un soggetto");
            //    return;
            //}

            foreach (var item in this.checkedListBoxControl1.CheckedItems)
            {
                Ingresso ingresso = item as Ingresso;
                if (ingresso != null)
                {
                    _Ingressi.Add(ingresso);
                }
            }

            if (_Ingressi.Count == 0)
            {
                XtraMessageBox.Show("Selezionare un ingresso");
                return;
            }

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

            Cursor saveCursor = Cursor.Current;

            try
            {
                Cursor.Current = Cursors.WaitCursor;

                InitList(_Inizio);

                _Aperture.CaricaApertureIngressi(_Inizio, _Fine, this.unitOfWork1);
                _Aperture.CaricaApertureIngressi(_Inizio.AddYears(-1), _Fine.AddYears(-1), this.unitOfWork1);
                _Aperture.CaricaApertureIngressi(_Inizio.AddYears(-2), _Fine.AddYears(-2), this.unitOfWork1);

                XPCollection <Vendita> vendite = new XPCollection <Vendita>(this.unitOfWork1);

                GroupOperator periodo1 = new GroupOperator(GroupOperatorType.And, new CriteriaOperator[] {
                    new BinaryOperator("DataContabile", _Inizio, BinaryOperatorType.GreaterOrEqual),
                    new BinaryOperator("DataContabile", _Fine, BinaryOperatorType.LessOrEqual)
                });
                GroupOperator periodo2 = new GroupOperator(GroupOperatorType.And, new CriteriaOperator[] {
                    new BinaryOperator("DataContabile", _Inizio.AddYears(-1), BinaryOperatorType.GreaterOrEqual),
                    new BinaryOperator("DataContabile", _Fine.AddYears(-1), BinaryOperatorType.LessOrEqual)
                });
                GroupOperator periodo3 = new GroupOperator(GroupOperatorType.And, new CriteriaOperator[] {
                    new BinaryOperator("DataContabile", _Inizio.AddYears(-2), BinaryOperatorType.GreaterOrEqual),
                    new BinaryOperator("DataContabile", _Fine.AddYears(-2), BinaryOperatorType.LessOrEqual)
                });

                vendite.Criteria = new GroupOperator(GroupOperatorType.Or,
                                                     new CriteriaOperator[] { periodo1, periodo2, periodo3 });

                foreach (Vendita vendita in vendite)
                {
                    foreach (RigaVenditaVariante riga in vendita.RigheVenditaVariante)
                    {
                        foreach (Ingresso ingresso in riga.Variante.Biglietto.Percorso.Ingressi)
                        {
                            //if (ingresso.SoggettoEconomico == _Soggetto)
                            if (_Ingressi.Contains(ingresso))
                            {
                                AddToList(ingresso, riga.Quantita, vendita.DataContabile, riga.Variante.TipologiaEconomica, riga);
                            }
                        }
                    }
                }

                GroupOperator cardPeriodo1 = new GroupOperator(GroupOperatorType.And, new CriteriaOperator[]
                {
                    new BinaryOperator("DataOraEntrata", _Inizio, BinaryOperatorType.GreaterOrEqual),
                    new BinaryOperator("DataOraEntrata", _Fine.AddDays(1), BinaryOperatorType.Less),
                    new NotOperator(new NullOperator("RigaStampaIngresso.Stampa.Card"))
                });
                GroupOperator cardPeriodo2 = new GroupOperator(GroupOperatorType.And, new CriteriaOperator[]
                {
                    new BinaryOperator("DataOraEntrata", _Inizio.AddYears(-1), BinaryOperatorType.GreaterOrEqual),
                    new BinaryOperator("DataOraEntrata", _Fine.AddYears(-1).AddDays(1), BinaryOperatorType.Less),
                    new NotOperator(new NullOperator("RigaStampaIngresso.Stampa.Card"))
                });
                GroupOperator cardPeriodo3 = new GroupOperator(GroupOperatorType.And, new CriteriaOperator[]
                {
                    new BinaryOperator("DataOraEntrata", _Inizio.AddYears(-2), BinaryOperatorType.GreaterOrEqual),
                    new BinaryOperator("DataOraEntrata", _Fine.AddYears(-2).AddDays(1), BinaryOperatorType.Less),
                    new NotOperator(new NullOperator("RigaStampaIngresso.Stampa.Card"))
                });

                XPCollection <Entrata> entrate = new XPCollection <Entrata>(this.unitOfWork1);
                entrate.Criteria = new GroupOperator(GroupOperatorType.Or, new CriteriaOperator[]
                {
                    cardPeriodo1, cardPeriodo2, cardPeriodo3
                });

                foreach (var entrata in entrate)
                {
                    if (_Ingressi.Contains(entrata.RigaStampaIngresso.Ingresso))
                    {
                        AddCardToList(entrata);
                    }
                }

                foreach (DatiReport06 dato in _List)
                {
                    dato.CalcolaTotale(_List);
                }

                XtraReport06 report = new XtraReport06();

                report.Init(_List, _Inizio, _Fine, this.memoEditInfo.Text);

                report.ShowRibbonPreviewDialog();
            }
            finally
            {
                Cursor.Current = saveCursor;
            }
        }
        private void simpleButtonReport_Click(object sender, EventArgs e)
        {
            _List     = new List <DatiReport01b>();
            _Aperture = new GestoreAperture();
            _Ingressi = new List <Ingresso>();

            foreach (var item in this.checkedListBoxControl1.CheckedItems)
            {
                Ingresso ingresso = item as Ingresso;
                if (ingresso != null)
                {
                    _Ingressi.Add(ingresso);
                }
            }

            if (_Ingressi.Count == 0)
            {
                XtraMessageBox.Show("Selezionare un ingresso");
                return;
            }

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

            Cursor saveCursor = Cursor.Current;

            try
            {
                Cursor.Current = Cursors.WaitCursor;

                foreach (Ingresso ingresso in _Ingressi)
                {
                    DatiReport01b target = new DatiReport01b();
                    target.Museo  = ingresso.Descrizione;
                    target.Ordine = ingresso.OrdineReport01;
                    _List.Add(target);
                }

                // per sicurezza aggiungo un mese alla data di fine periodo
                _Aperture.CaricaApertureIngressi(this.dateEditInizio.DateTime, this.dateEditFine.DateTime.AddMonths(1), this.unitOfWork1);
                //XPCollection<PostazioneAccesso> accessi = new XPCollection<PostazioneAccesso>(this.unitOfWork1);
                //GroupOperator periodoa1 = new GroupOperator(GroupOperatorType.And, new CriteriaOperator[]{
                //                    new BinaryOperator("Data", this.dateEditInizio.DateTime, BinaryOperatorType.GreaterOrEqual),
                //                    new BinaryOperator("Data", this.dateEditFine.DateTime.AddMonths(1), BinaryOperatorType.LessOrEqual)});
                //accessi.Criteria = periodoa1;
                //foreach (PostazioneAccesso postazioneAccesso in accessi)
                //{
                //    foreach (PostazioneIngresso postazioneIngresso in postazioneAccesso.Postazione.Ingressi)
                //    {
                //        _Aperture.Add(postazioneIngresso.Ingresso.Oid, postazioneAccesso.Data);
                //    }
                //}

                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)
                {
                    foreach (RigaVenditaVariante rigaVenditaVariante in item.RigheVenditaVariante)
                    {
                        AddToList(rigaVenditaVariante);
                    }
                }

                XtraReport01b report = new XtraReport01b();

                report.Init(_List, this.dateEditInizio.DateTime, this.dateEditFine.DateTime, this.memoEditInfo.Text);

                report.ShowRibbonPreviewDialog();
            }
            finally
            {
                Cursor.Current = saveCursor;
            }
        }
Exemple #5
0
        private void simpleButtonReport_Click(object sender, EventArgs e)
        {
            _Ingresso = this.lookUpEdit1.EditValue as Ingresso;
            _List     = new List <DatiReport01>();
            _Aperture = new GestoreAperture();

            if (_Ingresso == null)
            {
                return;
            }

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

            Cursor saveCursor = Cursor.Current;

            try
            {
                Cursor.Current = Cursors.WaitCursor;

                _Aperture.CaricaApertureIngressi(this.dateEditInizio.DateTime, this.dateEditFine.DateTime.AddMonths(1), this.unitOfWork1);

                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)
                {
                    foreach (RigaVenditaVariante rigaVenditaVariante in item.RigheVenditaVariante)
                    {
                        foreach (Ingresso ingresso in rigaVenditaVariante.Variante.Biglietto.Percorso.Ingressi)
                        {
                            if (ingresso.Oid == _Ingresso.Oid)
                            {
                                AddToList(rigaVenditaVariante, ingresso);
                            }
                        }
                    }
                }

                XPCollection <Entrata> entrate = new XPCollection <Entrata>(this.unitOfWork1);
                entrate.Criteria = new GroupOperator(GroupOperatorType.And, new CriteriaOperator[]
                {
                    new BinaryOperator("DataOraEntrata", this.dateEditInizio.DateTime, BinaryOperatorType.GreaterOrEqual),
                    new BinaryOperator("DataOraEntrata", this.dateEditFine.DateTime.AddDays(1), BinaryOperatorType.Less),
                    new BinaryOperator("RigaStampaIngresso.Ingresso.Oid", _Ingresso.Oid),
                    new NotOperator(new NullOperator("RigaStampaIngresso.Stampa.Card"))
                });

                foreach (var entrata in entrate)
                {
                    AddCardToList(entrata, _Ingresso);
                }


                XtraReport01 report = new XtraReport01();

                report.Init(_List, this.dateEditInizio.DateTime, this.dateEditFine.DateTime, this.memoEditInfo.Text);

                report.ShowRibbonPreviewDialog();
            }
            finally
            {
                Cursor.Current = saveCursor;
            }
        }