/// <summary> /// Может ли создаться ссылка на дочку /// </summary> /// <returns></returns> public bool GetVisibleToChilds(IDictionary <string, string> values, string referenceKey, BaseNavigatorValues navigatorValues) { var args = GetVisibleArgs(values, referenceKey, navigatorValues); return(args.Visible && (args.VisibleToJournalButton || (args.VisibleLookButton && IsOneToOne) || args.VisibleAddButton)); }
/// <summary> /// Получить аргументы для определения видимости ссылок. /// </summary> /// <returns></returns> protected BaseNavigatorInfoVisibleEventArgs GetVisibleArgs(IDictionary <string, string> values, string referenceKey, BaseNavigatorValues navigatorValues) { var keyCache = ReferenceCacheKey + ".Args." + referenceKey; BaseNavigatorInfoVisibleEventArgs args = null; if (HttpContext.Current != null) { args = HttpContext.Current.Items[keyCache] as BaseNavigatorInfoVisibleEventArgs; } if (args != null) { return(args); } args = new BaseNavigatorInfoVisibleEventArgs { SelectedValue = GetKeyValue(values, referenceKey, false), Values = navigatorValues }; InitializeNavigatorInfoVisible(args); if (HttpContext.Current != null) { HttpContext.Current.Items[keyCache] = args; } return(args); }
/// <summary> /// Получить может ли создаться ссылка на родителя /// </summary> /// <returns></returns> public bool GetFilterByParent(IDictionary <string, string> values, string referenceKey, BaseNavigatorValues navigatorValues) { var args = GetVisibleArgs(values, referenceKey, navigatorValues); return(args.Visible && args.FilterByParent); }