private void AddToList(DatiReport01t target, Ingresso ingresso, 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 && 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; } // && riga.Variante.Biglietto.Tipologia == EnumTipologiaBiglietto.Museo 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: 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)); } } 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: if (riga.Variante.Descrizione.Contains("2")) { target.AltriCardMyFE2 += riga.Quantita; } else if (riga.Variante.Descrizione.Contains("3")) { target.AltriCardMyFE3 += riga.Quantita; } else if (riga.Variante.Descrizione.Contains("6")) { target.AltriCardMyFE6 += 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(); }