예제 #1
0
        private void AddToList(RigaVenditaVariante riga)
        {
            DatiReport07 target = null;

            foreach (DatiReport07 dataReport01 in _List)
            {
                if (dataReport01.Museo == riga.Vendita.Struttura.Descrizione)
                {
                    target = dataReport01;
                }
            }

            if (target == null)
            {
                target        = new DatiReport07();
                target.Museo  = riga.Vendita.Struttura.Descrizione;
                target.Ordine = riga.Vendita.Struttura.Descrizione;
                _List.Add(target);
            }

            AddToList(target, riga.Vendita.Struttura, riga);

            /*
             * foreach (Ingresso ingresso in riga.Variante.Biglietto.Percorso.Ingressi)
             * {
             *  //if (ingresso.SoggettoEconomico == _Soggetto)
             *  if (_Ingressi.Contains(ingresso))
             *  {
             *      DatiReport07 target = null;
             *      foreach (DatiReport07 dataReport01 in _List)
             *      {
             *          if (dataReport01.Museo == ingresso.Descrizione)
             *              target = dataReport01;
             *      }
             *
             *      if (target == null)
             *      {
             *          target = new DatiReport07();
             *          target.Museo = ingresso.Descrizione;
             *          target.Ordine = ingresso.OrdineReport01;
             *          _List.Add(target);
             *      }
             *
             *      AddToList(target, ingresso, riga);
             *  }
             * }
             * */
        }
예제 #2
0
        //private GestoreAperture _Aperture = null;
        private void simpleButtonReport_Click(object sender, EventArgs e)
        {
            _List = new List <DatiReport07>();
            //_Aperture = new GestoreAperture();
            _Ingressi = new List <Ingresso>();

            XPCollection <Ingresso> tutte = new XPCollection <Ingresso>(this.unitOfWork1);

            tutte.Sorting = new SortingCollection(new SortProperty[] { new SortProperty("Descrizione", DevExpress.Xpo.DB.SortingDirection.Ascending) });

            _Ingressi.AddRange(tutte);

            //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)
                {
                    DatiReport07 target = new DatiReport07();
                    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 <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);
                    }
                }

                _List.RemoveAll(a => a.MuseoCardMyFE2 + a.MuseoCardMyFE3 + a.MuseoCardMyFE6 == 0);

                XtraReport07 report = new XtraReport07();

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

                report.ShowRibbonPreviewDialog();
            }
            finally
            {
                Cursor.Current = saveCursor;
            }
        }
예제 #3
0
        private void AddToList(DatiReport07 target, Struttura struttura, RigaVenditaVariante riga)
        {
            // filtro in base alle giornate di apertura
            //if (ingresso.IsAttrib(EventoParticolare.STR_INGRESSI_VERIFICA_VALIDITA) && !_Aperture.Valido(ingresso.Oid, riga.Vendita.DataContabile))
            //    return;
            //if (ingresso.IsAttrib(EventoParticolare.STR_INGRESSI_NO_VENDITA_DA_ALTRI) && riga.Vendita.Struttura != ingresso.Struttura)
            //    return;
            //if (riga.Vendita.Struttura != ingresso.Struttura && riga.Vendita.DataContabile.Year <= 2011 && riga.Vendita.DataContabile.Month < 6)
            //    return;
            //if (ingresso.IsAttrib(EventoParticolare.STR_INGRESSI_MOD_TERREMOTO_1) && (riga.Vendita.DataContabile > EventoParticolare.EQDataEvento && !_Aperture.Valido(ingresso.Oid, riga.Vendita.DataContabile)))
            //    return;

            if (riga.Variante.TipologiaTre == EnumTipologiaTre.CardMyFE && riga.Variante.TipologiaDue == EnumTipologiaDue.Ridotto && riga.Variante.PrezzoAttuale.PrezzoRidotto == null)
            {
                return;
            }

            // CASO SPECIALE MUSEO DI STORIA NATURALE
            if (riga.Variante.TipologiaTre == EnumTipologiaTre.CardMyFE && riga.Variante.TipologiaDue == EnumTipologiaDue.Omaggio)
            {
                return;
            }

            if (riga.Variante.TipologiaTre != EnumTipologiaTre.CardMyFE)
            {
                return;
            }

            // emesso da questa struttura

            switch (riga.Variante.TipologiaTre)
            {
            case EnumTipologiaTre.Standard:

                switch (riga.Variante.Biglietto.Tipologia)
                {
                case EnumTipologiaBiglietto.Museo:
                    switch (riga.Variante.TipologiaDue)
                    {
                    case EnumTipologiaDue.Intero:
                        target.MuseoStandardIntero += riga.Quantita;
                        break;

                    case EnumTipologiaDue.Ridotto:
                        target.MuseoStandardRidotto += riga.Quantita;
                        break;

                    case EnumTipologiaDue.Omaggio:
                        target.MuseoOmaggio += riga.Quantita;
                        break;

                    default:
                        throw new Exception(String.Format("Caso non previsto riga.Variante.TipologiaDue={0}", riga.Variante.TipologiaDue));
                    }
                    break;

                case EnumTipologiaBiglietto.Cumulativo:
                    switch (riga.Variante.TipologiaDue)
                    {
                    case EnumTipologiaDue.Intero:
                        target.MuseoCumulativoIntero += riga.Quantita;
                        break;

                    case EnumTipologiaDue.Ridotto:
                        target.MuseoCumulativoRidotto += riga.Quantita;
                        break;

                    case EnumTipologiaDue.Omaggio:
                        target.MuseoOmaggio += riga.Quantita;
                        break;

                    default:
                        throw new Exception(String.Format("Caso non previsto riga.Variante.TipologiaDue={0}", riga.Variante.TipologiaDue));
                    }
                    break;

                case EnumTipologiaBiglietto.Card:
                    switch (riga.Variante.TipologiaDue)
                    {
                    case EnumTipologiaDue.Intero:
                        target.MuseoCardIntero += riga.Quantita;
                        break;

                    case EnumTipologiaDue.Ridotto:
                        target.MuseoCardRidotto += riga.Quantita;
                        break;

                    case EnumTipologiaDue.Omaggio:
                        target.MuseoOmaggio += riga.Quantita;
                        break;

                    default:
                        throw new Exception(String.Format("Caso non previsto riga.Variante.TipologiaDue={0}", riga.Variante.TipologiaDue));
                    }
                    break;

                default:
                    throw new Exception(String.Format("Caso non previsto riga.Variante.Biglietto.Tipologia={0}", riga.Variante.Biglietto.Tipologia));
                }

                break;

            case EnumTipologiaTre.Bigliettone:
                target.MuseoBigliettone += riga.Quantita;
                break;

            case EnumTipologiaTre.OmaggioGruppo:
                target.MuseoOmaggio += riga.Quantita;
                break;

            case EnumTipologiaTre.CardMyFE:
                if (riga.Variante.Descrizione.Contains("2"))
                {
                    target.MuseoCardMyFE2 += riga.Quantita;
                }
                else if (riga.Variante.Descrizione.Contains("3"))
                {
                    target.MuseoCardMyFE3 += riga.Quantita;
                }
                else if (riga.Variante.Descrizione.Contains("6"))
                {
                    target.MuseoCardMyFE6 += riga.Quantita;
                }
                else
                {
                    throw new Exception(String.Format("Caso non previsto MyFE: {0}", riga.Variante.Descrizione));
                }
                break;

            default:
                throw new Exception(String.Format("Caso non previsto riga.Variante.TipologiaTre={0}", riga.Variante.TipologiaTre));
            }

            target.CalcolaTotali();
        }