public IList <T> GetAll(decimal?idPadre) { if (idPadre.HasValue) { using (TitoloSQLDb dao = new TitoloSQLDb()) { return(dao.GetSottotitoliByIdPadre(idPadre.Value) as IList <T>); } } else { if (typeof(T) == typeof(Titolo)) { using (TitoloSQLDb dao = new TitoloSQLDb()) { return(dao.GetAll() as IList <T>); } } else { using (SottoTitoloSQLDb dao = new SottoTitoloSQLDb()) { return(dao.GetAll() as IList <T>); } } } }
public T LoadByCode(string code) { if (typeof(T) == typeof(Titolo)) { using (TitoloSQLDb dao = new TitoloSQLDb()) { return((T)dao.GetAll().SingleOrDefault(t => string.Equals(t.AppCode, code, StringComparison.OrdinalIgnoreCase))); } } else if (typeof(T) == typeof(SottoTitolo)) { using (SottoTitoloSQLDb dao = new SottoTitoloSQLDb()) { return((T)(Titolo)dao.GetAll().FirstOrDefault(s => string.Equals(s.ComCode, code, StringComparison.OrdinalIgnoreCase))); } } else { throw new InvalidOperationException("Tipo non gestito."); } }