private void AddToList(Titolo titolo, string descrizione) { DatiReport02 target = null; foreach (DatiReport02 dataReport02 in _List) { if (dataReport02.Titolo == titolo) { target = dataReport02; } } if (target == null) { target = new DatiReport02(); target.Museo = descrizione; target.Titolo = titolo; target.Descrizione = titolo.Descrizione; target.Tipologia = EnumTipologiaBiglietto.Museo; target.TipologiaUno = EnumTipologiaUno.Singolo; target.TipologiaDue = EnumTipologiaDue.Ridotto; target.TipologiaTre = EnumTipologiaTre.Standard; target.Ordine = 50; _List.Add(target); } }
private void AddCardToList(Entrata entrata) { DatiReport02 target = null; foreach (DatiReport02 dataReport02 in _List) { if (dataReport02.TipologiaTre == EnumTipologiaTre.CardMyFE) { target = dataReport02; } } if (target == null) { throw new Exception(String.Format("Target not found. CardMyFE")); } // card myfe sempre come intero (erano ridotto, ma Zerbinati ha optato per intero il 24/09/2014), // anche se museo di storia naturale inserisce cardmye come omaggi target.PagantiIntero += entrata.RigaStampaIngresso.TotaleIngressi; target.CalcolaTotali(); }
private void AddToList(RigaVenditaVariante riga, Ingresso ingresso, int level = 0) { // 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; } DatiReport02 target = null; foreach (DatiReport02 dataReport02 in _List) { if (riga.Variante.Biglietto.Tipologia == EnumTipologiaBiglietto.Museo) { if (riga.Variante.TipologiaTre == EnumTipologiaTre.Bigliettone) { if (dataReport02.Titolo == null && dataReport02.Descrizione == STR_Bigliettone) { target = dataReport02; } } if (riga.Variante.TipologiaTre == EnumTipologiaTre.OmaggioGruppo) { if (riga.Variante.TipologiaUno == EnumTipologiaUno.Gruppo && riga.Variante.TipologiaDue == EnumTipologiaDue.Omaggio && riga.Variante.TipologiaTre == EnumTipologiaTre.OmaggioGruppo) { if (dataReport02.Titolo == null && dataReport02.Descrizione == STR_GruppiIngressoOmaggio) { target = dataReport02; } } } if (riga.Variante.TipologiaTre == EnumTipologiaTre.Standard) { if (riga.Variante.TipologiaUno == EnumTipologiaUno.Singolo) { if (riga.Titolo == null && dataReport02.Titolo == null && dataReport02.Descrizione == STR_BigliettoIntero) { target = dataReport02; } if (riga.Titolo != null && dataReport02.Titolo == riga.Titolo && dataReport02.Tipologia == EnumTipologiaBiglietto.Museo) { target = dataReport02; } } if (riga.Variante.TipologiaUno == EnumTipologiaUno.Gruppo) { if (riga.Titolo == null) { if (dataReport02.Titolo == null && dataReport02.Descrizione == STR_Gruppi) { target = dataReport02; } } else { if (riga.Titolo != null && dataReport02.Titolo == riga.Titolo && dataReport02.Tipologia == EnumTipologiaBiglietto.Museo) { target = dataReport02; } } } if (riga.Variante.TipologiaUno == EnumTipologiaUno.Scuola) { if (dataReport02.Titolo == null && dataReport02.Descrizione == STR_Scuola) { target = dataReport02; } } } } if (riga.Variante.Biglietto.Tipologia == EnumTipologiaBiglietto.Cumulativo) { if (riga.Variante.TipologiaDue == EnumTipologiaDue.Intero && dataReport02.Descrizione == STR_CumulativoIntero) { target = dataReport02; } if ((riga.Variante.TipologiaDue == EnumTipologiaDue.Ridotto || riga.Variante.TipologiaDue == EnumTipologiaDue.Omaggio) && dataReport02.Descrizione == STR_CumulativoRidotto) { target = dataReport02; } //if (riga.Variante.TipologiaUno == EnumTipologiaUno.Gruppo && riga.Variante.TipologiaDue == EnumTipologiaDue.Omaggio && riga.Variante.TipologiaTre == EnumTipologiaTre.NFR) //{ // if (dataReport02.Titolo == null && dataReport02.Descrizione == STR_GruppiIngressoOmaggio) // target = dataReport02; //} } if (riga.Variante.Biglietto.Tipologia == EnumTipologiaBiglietto.Card && riga.Variante.TipologiaTre != EnumTipologiaTre.CardMyFE) { if (riga.Variante.TipologiaDue == EnumTipologiaDue.Intero && dataReport02.Descrizione == STR_CardMuseiIntero) { target = dataReport02; } if ((riga.Variante.TipologiaDue == EnumTipologiaDue.Ridotto || riga.Variante.TipologiaDue == EnumTipologiaDue.Omaggio) && dataReport02.Descrizione == STR_CardMuseiRidotto) { target = dataReport02; } } if (riga.Variante.TipologiaTre == EnumTipologiaTre.CardMyFE) { if (dataReport02.TipologiaTre == EnumTipologiaTre.CardMyFE) { target = dataReport02; } } if (target != null) { break; } } if (target == null) { //throw new Exception(String.Format("Target not found. Tipologia Variante: {0} / Biglietto: {1} / Titolo: {2}", riga.Variante.Tipologia, riga.Variante.Biglietto.Tipologia, riga.Titolo != null ? riga.Titolo.Descrizione : string.Empty)); if (riga.Titolo != null && level == 0) { AddToList(riga.Titolo, _Descrizione); AddToList(riga, ingresso, level + 1); return; } else { XtraMessageBox.Show(String.Format("Target not found. Variante: {0} / Biglietto: {1} / Titolo: {2}", riga.Variante.Tipologia, riga.Variante.Biglietto.Tipologia, riga.Titolo != null ? riga.Titolo.Descrizione : string.Empty)); return; } } if (target.TipologiaTre == EnumTipologiaTre.CardMyFE) { // card myfe sempre come intero (erano ridotto, ma Zerbinati ha optato per intero il 24/09/2014), // anche se museo di storia naturale inserisce cardmye come omaggi target.PagantiIntero += riga.Quantita; } else { switch (riga.Variante.TipologiaDue) { case EnumTipologiaDue.Intero: target.PagantiIntero += riga.Quantita; break; case EnumTipologiaDue.Ridotto: target.PagantiRidotto += riga.Quantita; break; case EnumTipologiaDue.Omaggio: target.NonPaganti += riga.Quantita; break; } } target.CalcolaTotali(); }
private void InitList() { _Descrizione = string.Empty; foreach (Ingresso ingresso in _Ingressi) { _Descrizione += string.IsNullOrEmpty(_Descrizione) ? ingresso.Descrizione : ", " + ingresso.Descrizione; } foreach (Ingresso ingresso in _Ingressi) { foreach (Percorso percorso in ingresso.Percorsi) { foreach (Biglietto biglietto in percorso.BigliettiValidi) { foreach (Variante variante in biglietto.Varianti) { foreach (Titolo titolo in variante.ElencoTitoli) { AddToList(titolo, _Descrizione); } } } } } // INTERO var target = new DatiReport02(); target.Museo = _Descrizione; target.Titolo = null; target.Descrizione = STR_BigliettoIntero; target.Tipologia = EnumTipologiaBiglietto.Museo; target.TipologiaUno = EnumTipologiaUno.Singolo; target.TipologiaDue = EnumTipologiaDue.Intero; target.TipologiaTre = EnumTipologiaTre.Standard; target.Ordine = 10; _List.Add(target); // CUMULATIVO INTERO target = new DatiReport02(); target.Museo = _Descrizione; target.Titolo = null; target.Descrizione = STR_CumulativoIntero; target.Tipologia = EnumTipologiaBiglietto.Cumulativo; target.TipologiaUno = EnumTipologiaUno.Singolo; target.TipologiaDue = EnumTipologiaDue.Intero; target.TipologiaTre = EnumTipologiaTre.Standard; target.Ordine = 10; _List.Add(target); // CUMULATIVO RIDOTTO target = new DatiReport02(); target.Museo = _Descrizione; target.Titolo = null; target.Descrizione = STR_CumulativoRidotto; target.Tipologia = EnumTipologiaBiglietto.Cumulativo; target.TipologiaUno = EnumTipologiaUno.Singolo; target.TipologiaDue = EnumTipologiaDue.Ridotto; target.Ordine = 10; target.TipologiaTre = EnumTipologiaTre.Standard; _List.Add(target); // CARD INTERO target = new DatiReport02(); target.Museo = _Descrizione; target.Titolo = null; target.Descrizione = STR_CardMuseiIntero; target.Tipologia = EnumTipologiaBiglietto.Card; target.TipologiaUno = EnumTipologiaUno.Singolo; target.TipologiaDue = EnumTipologiaDue.Intero; target.TipologiaTre = EnumTipologiaTre.Standard; target.Ordine = 10; _List.Add(target); // CARD RIDOTTO target = new DatiReport02(); target.Museo = _Descrizione; target.Titolo = null; target.Descrizione = STR_CardMuseiRidotto; target.Tipologia = EnumTipologiaBiglietto.Card; target.TipologiaUno = EnumTipologiaUno.Singolo; target.TipologiaDue = EnumTipologiaDue.Ridotto; target.TipologiaTre = EnumTipologiaTre.Standard; target.Ordine = 10; _List.Add(target); // Bigliettone target = new DatiReport02(); target.Museo = _Descrizione; target.Titolo = null; target.Descrizione = STR_Bigliettone; target.Tipologia = EnumTipologiaBiglietto.Museo; target.TipologiaUno = EnumTipologiaUno.Singolo; target.TipologiaDue = EnumTipologiaDue.Ridotto; target.TipologiaTre = EnumTipologiaTre.Bigliettone; target.Ordine = 10; _List.Add(target); // CardMyFE target = new DatiReport02(); target.Museo = _Descrizione; target.Titolo = null; target.Descrizione = STR_CardMyFE; target.Tipologia = EnumTipologiaBiglietto.Museo; target.TipologiaUno = EnumTipologiaUno.Singolo; target.TipologiaDue = EnumTipologiaDue.Intero; target.TipologiaTre = EnumTipologiaTre.CardMyFE; target.Ordine = 10; _List.Add(target); // Gruppi target = new DatiReport02(); target.Museo = _Descrizione; target.Titolo = null; target.Descrizione = STR_Gruppi; target.Tipologia = EnumTipologiaBiglietto.Museo; target.TipologiaUno = EnumTipologiaUno.Gruppo; target.TipologiaDue = EnumTipologiaDue.Ridotto; target.TipologiaTre = EnumTipologiaTre.Standard; target.Ordine = 10; _List.Add(target); // Gruppi (gratuita') target = new DatiReport02(); target.Museo = _Descrizione; target.Titolo = null; target.Descrizione = STR_GruppiIngressoOmaggio; target.Tipologia = EnumTipologiaBiglietto.Museo; target.TipologiaUno = EnumTipologiaUno.Gruppo; target.TipologiaDue = EnumTipologiaDue.Omaggio; target.TipologiaTre = EnumTipologiaTre.OmaggioGruppo; target.Ordine = 10; _List.Add(target); // Scuola target = new DatiReport02(); target.Museo = _Descrizione; target.Titolo = null; target.Descrizione = STR_Scuola; target.Tipologia = EnumTipologiaBiglietto.Museo; target.TipologiaUno = EnumTipologiaUno.Scuola; target.TipologiaDue = EnumTipologiaDue.Ridotto; target.TipologiaTre = EnumTipologiaTre.Standard; target.Ordine = 10; _List.Add(target); // Omaggio ? //target = new DatiReport02(); //target.Museo = _Ingresso.Descrizione; //target.Titolo = null; //target.Descrizione = "Omaggio"; //target.Tipologia = EnumTipologiaBiglietto.Museo; //target.TipologiaUno = EnumTipologiaUno.Singolo; //target.TipologiaDue = EnumTipologiaDue.Omaggio; //target.TipologiaTre = EnumTipologiaTre.Standard; //_List.Add(target); }