示例#1
0
        private void AddCardToList(Entrata entrata, Ingresso ingresso)
        {
            int fascia = entrata.DataOraEntrata.Hour;

            DatiReport01 target = null;

            foreach (DatiReport01 dataReport01 in _List)
            {
                if (dataReport01.InizioFasciaOraria == fascia)
                {
                    target = dataReport01;
                }
            }

            if (target == null)
            {
                target       = new DatiReport01();
                target.Museo = ingresso.Descrizione;
                target.InizioFasciaOraria = fascia;

                _List.Add(target);
            }

            //if (riga.Vendita.Struttura.Oid == _Ingresso.Struttura.Oid)
            if (entrata.RigaStampaIngresso.Stampa.Vendita.Struttura.Oid == ingresso.Struttura.Oid)
            {
                target.MuseoMyFE += entrata.RigaStampaIngresso.TotaleIngressi;
            }
            else
            {
                target.AltriMyFE += entrata.RigaStampaIngresso.TotaleIngressi;
            }

            target.CalcolaTotali();
        }
示例#2
0
        private void AddToList(RigaVenditaVariante riga, Ingresso ingresso)
        {
            int fascia = riga.Vendita.DataOraStampa.Hour;

            DatiReport01 target = null;

            foreach (DatiReport01 dataReport01 in _List)
            {
                if (dataReport01.InizioFasciaOraria == fascia)
                {
                    target = dataReport01;
                }
            }

            if (target == null)
            {
                target       = new DatiReport01();
                target.Museo = ingresso.Descrizione;
                target.InizioFasciaOraria = fascia;

                _List.Add(target);
            }

            // 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 && riga.Vendita.DataContabile.Year < 2015 && !_Aperture.Valido(ingresso.Oid, riga.Vendita.DataContabile)))
            {
                return;
            }
            // esclusione doppia card provincia per split prezzo
            if (riga.Variante.TipologiaTre == EnumTipologiaTre.CardMyFE && riga.Variante.TipologiaDue == EnumTipologiaDue.Ridotto && riga.Variante.PrezzoAttuale.PrezzoRidotto == null)
            {
                return;
            }
            // esclusione di tutte le card ridotte (gli omaggio sono del museo di storia naturale e vanno conteggiati)
            if (riga.Variante.TipologiaTre == EnumTipologiaTre.CardMyFE && riga.Variante.TipologiaDue == EnumTipologiaDue.Ridotto)
            {
                return;
            }

            if (riga.Vendita.Struttura.Oid == ingresso.Struttura.Oid)
            {
                // 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:
                    target.MuseoMyFE += riga.Quantita;
                    break;

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

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

                    switch (riga.Variante.Biglietto.Tipologia)
                    {
                    case EnumTipologiaBiglietto.Museo:
                        switch (riga.Variante.TipologiaDue)
                        {
                        case EnumTipologiaDue.Intero:
                            target.AltriStandardIntero += riga.Quantita;
                            //riga.Vendita.Stampe[0].StatoStampa == riga.Profilo;
                            //riga.Vendita.Stampe[0].RigheStampaIngresso[0].Entrate
                            break;

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

                        case EnumTipologiaDue.Omaggio:
                            target.AltriOmaggio += 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.AltriCumulativoIntero += riga.Quantita;
                            break;

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

                        case EnumTipologiaDue.Omaggio:
                            target.AltriOmaggio += 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.AltriCardIntero += riga.Quantita;
                            break;

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

                        case EnumTipologiaDue.Omaggio:
                            target.AltriOmaggio += 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.AltriBigliettone += riga.Quantita;
                    break;

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

                case EnumTipologiaTre.CardMyFE:
                    target.AltriMyFE += riga.Quantita;
                    break;

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

            target.CalcolaTotali();
        }