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