/// <summary> /// Получить список пар канал/представление по ид. представления /// </summary> public static List <CnlViewPair> GetCnlViewPairsByView( int viewID, DataAccess dataAccess, ViewCache viewCache, UserViews userViews) { BaseView view = null; if (viewID > 0) { Type viewType = userViews.GetViewType(viewID); view = viewCache.GetView(viewType, viewID); } if (view == null) { return(null); } else { List <CnlViewPair> cnlsByView = new List <CnlViewPair>(); foreach (int cnlNum in view.CnlList) { CnlViewPair pair = new CnlViewPair(cnlNum, 0); pair.FillInfo(dataAccess.GetCnlProps(cnlNum), null); cnlsByView.Add(pair); } return(cnlsByView); } }
/// <summary> /// Получить представление по идентификатору, если тип представления заранее не известен /// </summary> /// <remarks>Если тип представления известен, эффективнее использовать ViewCache.GetView</remarks> public BaseView GetView(int viewID, bool throwOnError = false, bool allowUndefView = false) { if (viewID <= 0 && allowUndefView) { return(null); } Type viewType = GetViewType(viewID); return(viewCache.GetView(viewType, viewID, throwOnError)); }
/// <summary> /// Получить представление по идентификатору /// </summary> protected BaseView GetView(int viewID) { #if DEBUG return(null); #else if (userData == null) { // получение представления из кеша для WCF-сервиса return(viewCache.GetViewFromCache(viewID, true)); } else { // получение представления из кеша или от сервера для веб-формы Type viewType = userData.UserViews.GetViewType(viewID); return(viewCache.GetView(viewType, viewID, true)); } #endif }