Пример #1
0
        public int GetPosizione(Ingresso ingresso)
        {
            if (ingresso.Tipologia == EnumTipologiaIngresso.Sistema)
            {
                return(-1);
            }

            foreach (OrdineIngresso item in this.OrdineIngressi)
            {
                if (item.Ingresso != null && item.Ingresso.Oid == ingresso.Oid)
                {
                    if (item.Accesso == EnumAccesso.Nascosto)
                    {
                        return(-1);
                    }
                    else
                    {
                        return(item.Posizione);
                    }
                }
            }

            try
            {
                MakeDefault(ingresso);
                OrdineIngressi.Reload();

                return(GetPosizione(ingresso));
            }
            catch (Exception)
            {
            }

            return(0);
        }
Пример #2
0
 private void MakeDefault(Ingresso ingresso)
 {
     using (Session session = new Session())
     {
         OrdineIngresso ordine = new OrdineIngresso(session);
         ordine.Riferimento = session.GetObjectByKey <Ingresso>(this.Oid);
         ordine.Ingresso    = session.GetObjectByKey <Ingresso>(ingresso.Oid);
         ordine.Posizione   = 10 * Ordine(session, ingresso);
         ordine.Accesso     = ingresso.Tipologia == EnumTipologiaIngresso.Museo ? EnumAccesso.Visibile : EnumAccesso.Nascosto;
         ordine.Save();
     }
 }
Пример #3
0
        //public int DurataSlot(string tipo)
        //{
        //    int retValue = 60;

        //    switch (tipo)
        //    {
        //        case "S":
        //            retValue = DurataSlotSingoli;
        //            break;

        //        case "G":
        //            retValue = DurataSlotGruppi;
        //            break;

        //        default:
        //            break;
        //    }

        //    return retValue;
        //}

        //public int CapacitaSlot(string tipo)
        //{
        //    int retValue = 10;

        //    switch (tipo)
        //    {
        //        case "S":
        //            retValue = CapacitaSlotSingoli;
        //            break;

        //        case "G":
        //            retValue = CapacitaSlotGruppi;
        //            break;

        //        default:
        //            break;
        //    }

        //    return retValue;
        //}

        public EnumAccesso GetAccesso(Ingresso ingresso)
        {
            foreach (OrdineIngresso item in this.OrdineIngressi)
            {
                if (item.Ingresso != null && item.Ingresso.Oid == ingresso.Oid)
                {
                    return(item.Accesso);
                }
            }

            MakeDefault(ingresso);
            OrdineIngressi.Reload();

            return(GetAccesso(ingresso));
        }
Пример #4
0
        private static int Ordine(Session session, Ingresso ingresso)
        {
            using (XPCollection <Ingresso> all = new XPCollection <Ingresso>(session))
            {
                all.Sorting = new SortingCollection(new SortProperty[] { new SortProperty("Descrizione", DevExpress.Xpo.DB.SortingDirection.Ascending) });
                for (int i = 0; i < all.Count; i++)
                {
                    if (all[i].Oid == ingresso.Oid)
                    {
                        return(i + 1);
                    }
                }
            }

            return(0);
        }
Пример #5
0
        public bool TitoliDifferenti(Ingresso ingresso)
        {
            List <Titolo> elenco1 = GetElencoTitoli();
            List <Titolo> elenco2 = ingresso.GetElencoTitoli();

            if (elenco1.Count != elenco2.Count)
            {
                return(true);
            }

            foreach (Titolo titolo in elenco1)
            {
                if (!elenco2.Contains(titolo))
                {
                    return(true);
                }
            }

            return(false);
        }