private void AddToList(Ingresso ingresso, int ng, string anno)
        {
            DatiReport04 target = null;

            foreach (DatiReport04 dato in _List)
            {
                if (dato.Museo == ingresso.Descrizione)
                {
                    target = dato;
                }
            }

            if (target == null)
            {
                target        = new DatiReport04();
                target.Museo  = ingresso.Descrizione;
                target.Tipo   = ingresso.DescrizioneTipo;
                target.Ordine = ingresso.OrdineReport01;

                _List.Add(target);
            }

            switch (anno)
            {
            case "1":
                target.GioAnno1 += ng;
                break;

            case "2":
                target.GioAnno2 += ng;
                break;

            case "3":
                target.GioAnno3 += ng;
                break;

            case "4":
                target.GioAnno4 += ng;
                break;

            case "5":
                target.GioAnno5 += ng;
                break;

            default:
                throw new Exception("errore");
            }

            target.CalcolaTotale();
        }
        private void AddCardToList(Entrata entrata)
        {
            DatiReport04 target = null;

            foreach (DatiReport04 datiReport04 in _List)
            {
                if (datiReport04.Museo == entrata.RigaStampaIngresso.Ingresso.Descrizione)
                {
                    target = datiReport04;
                }
            }

            if (target == null)
            {
                target        = new DatiReport04();
                target.Museo  = entrata.RigaStampaIngresso.Ingresso.Descrizione;
                target.Tipo   = entrata.RigaStampaIngresso.Ingresso.DescrizioneTipo;
                target.Ordine = entrata.RigaStampaIngresso.Ingresso.OrdineReport01;

                _List.Add(target);
            }

            if (entrata.DataOraEntrata.Year == _AnnoInCorso)
            {
                target.VisAnno1 += entrata.RigaStampaIngresso.TotaleIngressi;
            }
            else if (entrata.DataOraEntrata.Year == _AnnoInCorso - 1)
            {
                target.VisAnno2 += entrata.RigaStampaIngresso.TotaleIngressi;
            }
            else if (entrata.DataOraEntrata.Year == _AnnoInCorso - 2)
            {
                target.VisAnno3 += entrata.RigaStampaIngresso.TotaleIngressi;
            }
            else if (entrata.DataOraEntrata.Year == _AnnoInCorso - 3)
            {
                target.VisAnno4 += entrata.RigaStampaIngresso.TotaleIngressi;
            }
            else if (entrata.DataOraEntrata.Year == _AnnoInCorso - 4)
            {
                target.VisAnno5 += entrata.RigaStampaIngresso.TotaleIngressi;
            }


            target.CalcolaTotale();
        }
        private void AddToList(Ingresso ingresso, int qta, DateTime dateTime, EnumTipologiaEconomica enumTipologiaEconomica, RigaVenditaVariante riga)
        {
            DatiReport04 target = null;

            foreach (DatiReport04 dato in _List)
            {
                if (dato.Museo == ingresso.Descrizione)
                {
                    target = dato;
                }
            }

            if (target == null)
            {
                target        = new DatiReport04();
                target.Museo  = ingresso.Descrizione;
                target.Tipo   = ingresso.DescrizioneTipo;
                target.Ordine = ingresso.OrdineReport01;

                _List.Add(target);
            }

            if (riga == null)
            {
                target.CalcolaTotale(); return;
            }

            // 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;
            }
            if (riga.Variante.TipologiaTre == EnumTipologiaTre.CardMyFE && riga.Variante.TipologiaDue == EnumTipologiaDue.Ridotto && riga.Variante.PrezzoAttuale.PrezzoRidotto == null)
            {
                return;
            }
            if (riga.Variante.TipologiaTre == EnumTipologiaTre.CardMyFE && riga.Variante.TipologiaDue == EnumTipologiaDue.Ridotto)
            {
                return;
            }

            if (dateTime.Year == _AnnoInCorso)
            {
                target.VisAnno1 += qta;
            }
            else if (dateTime.Year == _AnnoInCorso - 1)
            {
                target.VisAnno2 += qta;
            }
            else if (dateTime.Year == _AnnoInCorso - 2)
            {
                target.VisAnno3 += qta;
            }
            else if (dateTime.Year == _AnnoInCorso - 3)
            {
                target.VisAnno4 += qta;
            }
            else if (dateTime.Year == _AnnoInCorso - 4)
            {
                target.VisAnno5 += qta;
            }

            target.CalcolaTotale();
        }