예제 #1
0
        internal void Init(EventoParticolare eventoParticolare)
        {
            this.labelControl1.Text = String.Format("Alcuni profili non rispettano le regole immesse: dal {0} al {1}: <b>{2}</b>",
                                                    eventoParticolare.DataOraInizio,
                                                    eventoParticolare.DataOraFine,
                                                    eventoParticolare.Descrizione);

            this.labelControl2.Text = eventoParticolare.DescrizioneEstesa;
        }
예제 #2
0
        internal bool RispettaRegole(EventoParticolare eventoParticolare)
        {
            if (eventoParticolare.Tipologia == EnumTipologiaEventoParticolare.MuseiComunaliOmaggio)
            {
                foreach (ProfiloCliente profiloCliente in ElencoProfili)
                {
                    if (IngressoComune(profiloCliente))
                    {
                        bool found = false;
                        foreach (Titolo item in profiloCliente.ElencoTitoli)
                        {
                            if (item.IsAttrib(EventoParticolare.STR_COM_EVT_OMAGGIO))
                            {
                                found = true;
                            }
                        }

                        if (!found)
                        {
                            return(false);
                        }
                    }
                }
            }

            if (eventoParticolare.Tipologia == EnumTipologiaEventoParticolare.CastelloRidotto)
            {
                foreach (ProfiloCliente profiloCliente in ElencoProfili)
                {
                    if (IngressoProvincia(profiloCliente))
                    {
                        bool found = false;
                        foreach (Titolo item in profiloCliente.ElencoTitoli)
                        {
                            if (item.IsAttrib(EventoParticolare.STR_PROV_EVT_RIDOTTO))
                            {
                                found = true;
                            }
                        }

                        if (!found)
                        {
                            return(false);
                        }
                    }
                }
            }

            if (eventoParticolare.Tipologia == EnumTipologiaEventoParticolare.NoIngressoTorre)
            {
                foreach (ProfiloCliente profiloCliente in ElencoProfili)
                {
                    if (IngressoTorre(profiloCliente))
                    {
                        return(false);
                    }
                }
            }

            if (eventoParticolare.Tipologia == EnumTipologiaEventoParticolare.EscludiBiglietto && eventoParticolare.Biglietto != null)
            {
                foreach (ProfiloCliente profiloCliente in ElencoProfili)
                {
                    foreach (SoluzioneIngressiItem soluzioneIngressiItem in profiloCliente.SoluzionePreferita.Elenco)
                    {
                        if (soluzioneIngressiItem.Variante.Biglietto.Oid == eventoParticolare.Biglietto.Oid)
                        {
                            return(false);
                        }
                    }
                }
            }

            if (eventoParticolare.Tipologia == EnumTipologiaEventoParticolare.TitoloRichiesto && eventoParticolare.Biglietto != null && eventoParticolare.Titolo != null)
            {
                foreach (ProfiloCliente profiloCliente in ElencoProfili)
                {
                    foreach (SoluzioneIngressiItem soluzioneIngressiItem in profiloCliente.SoluzionePreferita.Elenco)
                    {
                        if (soluzioneIngressiItem.Variante.Biglietto.Oid == eventoParticolare.Biglietto.Oid &&
                            (soluzioneIngressiItem.Titolo == null ||
                             soluzioneIngressiItem.Titolo.Oid != eventoParticolare.Titolo.Oid))
                        {
                            return(false);
                        }
                    }
                }
            }

            return(true);
        }