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