예제 #1
0
        private void AddToList(Ingresso ingresso, int ng, string anno)
        {
            DatiReport03 target = null;

            foreach (DatiReport03 datiReport03 in _List)
            {
                if (datiReport03.Museo == ingresso.Descrizione)
                {
                    target = datiReport03;
                }
            }

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

                _List.Add(target);
            }

            if (anno == "ac")
            {
                target.GiorniAC += ng;
            }
            else
            {
                target.GiorniAP += ng;
            }

            target.CalcolaTotale();
        }
예제 #2
0
        private void AddCardToList(Entrata entrata)
        {
            DatiReport03 target = null;

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

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

                _List.Add(target);
            }

            if (entrata.DataOraEntrata.Year == _AnnoInCorso)
            {
                target.PagantiAC += entrata.RigaStampaIngresso.TotaleIngressi;
            }
            else
            {
                target.PagantiAP += entrata.RigaStampaIngresso.TotaleIngressi;
            }

            target.CalcolaTotale();
        }
예제 #3
0
        private void AddToList(Ingresso ingresso, int qta, DateTime dateTime, EnumTipologiaEconomica enumTipologiaEconomica, RigaVenditaVariante riga)
        {
            DatiReport03 target = null;

            foreach (DatiReport03 datiReport03 in _List)
            {
                if (datiReport03.Museo == ingresso.Descrizione)
                {
                    target = datiReport03;
                }
            }

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

                _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 (enumTipologiaEconomica == EnumTipologiaEconomica.Pagante)
            {
                if (dateTime.Year == _AnnoInCorso)
                {
                    target.PagantiAC += qta;
                }
                else
                {
                    target.PagantiAP += qta;
                }
            }
            else if (enumTipologiaEconomica == EnumTipologiaEconomica.Gratuito)
            {
                if (dateTime.Year == _AnnoInCorso)
                {
                    target.NonPagantiAC += qta;
                }
                else
                {
                    target.NonPagantiAP += qta;
                }
            }
            else
            {
                throw new Exception("EnumTipologiaEconomica non previsto: " + enumTipologiaEconomica);
            }

            target.CalcolaTotale();
        }