private NetworkVisualNode CreateVisualItem(object tag) { IRelevance relevance = tag as IRelevance; if (relevance != null) { if (relevance.Relevance < sliderRelevance.Minimum && relevance.Relevance != -1) { sliderRelevance.Minimum = relevance.Relevance; sliderRelevance.Value = relevance.Relevance; } } NetworkVisualNode visualNode = new NetworkVisualNode(); visualNode.ContentObject = tag; visualNode.NodeSelected += new NetworkVisualNode.NodeSelectedEventHandler(visualNode_NodeSelected); visualNode.NodeActivated += new NetworkVisualNode.NodeActivatedEventHandler(visualNode_NodeActivated); visualNode.NodeHovered += new NetworkVisualNode.NodeHoveredEventHandler(visualNode_NodeHovered); visualNode.UpdateRelevence(sliderRelevance.Value <= sliderRelevance.Minimum ? -1 : sliderRelevance.Value); _canvas.Children.Add(visualNode); return(visualNode); }
/// <summary> /// Update the visual state based on the relevance limit /// </summary> /// <param name="relevanceLimit">The relevance limit</param> public void UpdateRelevence(double relevanceLimit) { double relval = 0; IRelevance relevance = _contentObject as IRelevance; if (relevance != null) { relval = relevance.Relevance; } _isFiltered = relval < relevanceLimit; UpdateVisualState(); }
internal static IList <IProperty> FilterProperty <K>(IEntityMapper <T> mapper, IEntityMapper <K> kMapper, IRelevance relevance, JoinType join, out string relevanceStr, IEnumerable <IProperty> disabled = null, IEnumerable <Polymerize> polymerizes = null) { disabled = disabled ?? new IProperty[0]; var p1 = polymerizes == null ? from t in mapper.Propertys where !(t.Ignore || disabled.Contains((m) => m.Equals(t))) && t.SetTableName(mapper.TableName) select t.IsJoin(true) : from t in mapper.Propertys where !(t.Ignore || disabled.Contains((m) => m.Equals(t)) || polymerizes.Contains((m) => m.Property.Name == t.Name)) && t.SetTableName(mapper.TableName) select t.IsJoin(true) ; var p2 = polymerizes == null ? from t in kMapper.Propertys where !(t.Ignore || disabled.Contains((m) => m.Equals(t))) && t.SetAliaName(relevance) select t.IsJoin(true) : from t in kMapper.Propertys where !(t.Ignore || disabled.Contains((m) => m.Equals(t)) || !polymerizes.Contains((m) => m.Property.Name == t.Name)) && t.SetAliaName(relevance) select t.IsJoin(true) ; relevanceStr = $"{mapper.TableName} { JoinString(join)} {kMapper.TableName} as {relevance.AliaName} on {relevance.AliaName}.{relevance.PrimaryKey.Name}= {mapper.TableName}.{relevance.ForeignKey.Name}"; return(p1.Union(p2).ToList()); }
public bool SetAliaName(IRelevance relevanc) { this._aliaName = relevanc.AliaName; return(true); }
private void PopulateItems(object root) { _currentRoot = root; _panelItems.Children.Clear(); double minValue = 1; double maxValue = 0; double minPixel = 20; double maxPixel = 40; IEnumerable enumerable = _currentRoot as IEnumerable; if (enumerable != null) { IEnumerator iEnum = enumerable.GetEnumerator(); iEnum.Reset(); while (iEnum.MoveNext()) { IRelevance relevance = iEnum.Current as IRelevance; if (relevance != null) { if (relevance.Relevance != -1) { if (relevance.Relevance < minValue) { minValue = relevance.Relevance; } if (relevance.Relevance > maxValue) { maxValue = relevance.Relevance; } } } } double weightRange = maxValue - minValue; if (weightRange == 0) { weightRange = 1; } double pixelWeightScale = (maxPixel - minPixel) / weightRange; iEnum.Reset(); while (iEnum.MoveNext()) { TagCloudVisualNode tagCloudVisualNode = new TagCloudVisualNode(); tagCloudVisualNode.NodeActivated += new TagCloudVisualNode.NodeActivatedEventHandler(tagCloudVisualNode_NodeActivated); tagCloudVisualNode.NodeSelected += new TagCloudVisualNode.NodeSelectedEventHandler(tagCloudVisualNode_NodeSelected); tagCloudVisualNode.ContentObject = iEnum.Current; double relval = 1; IRelevance relevance = iEnum.Current as IRelevance; if (relevance != null) { relval = relevance.Relevance; } tagCloudVisualNode.LabelFontSize = minPixel + (((relval == -1 ? minValue : relval) - minValue) * pixelWeightScale); _panelItems.Children.Add(tagCloudVisualNode); } } buttonUpOneLevel.Visibility = _currentRoot == _originalRoot ? Visibility.Collapsed : Visibility.Visible; }
public DepartmentItmm(string path, ref List <Task> tasks) { Path = path + Constants.defaultFolder; dictionaries = LoadGroupsDictionaries(Path + Constants.dictionariesFilename, CoursesCount); vkStuff = IVkStuffConstructor.Construct(Path + Constants.settingsFilename); userRepository = new UserRepository(); IUserRepositoryReader.Read(ref userRepository, Path + Constants.userRepositoryFilename); for (int curCourse = 0; curCourse < CoursesCount; ++curCourse) { courses[curCourse] = new Course(); for (int curGroup = 0; curGroup < dictionaries[curCourse].Count; curGroup++) { courses[curCourse].groups.Add(new Group(dictionaries[curCourse].ElementAt(curGroup).Key)); } } mapper = new Mapper(courses); relevance = new RelevanceItmm(Path); LoadSettings(Path + Constants.settingsFilename); CoursesKeyboards = Utils.Utils.ConstructKeyboards(in mapper, CoursesCount); if (loadModule[0]) { tasks.Add(Task.Run(() => ExecuteMethodsAsync())); } if (loadModule[1]) { tasks.Add(Task.Run(() => GetMessages())); } if (loadModule[2]) { tasks.Add(CreateResponseMessagesTasks(Constants.responseMessagesTaskCount)); } if (loadModule[3]) { tasks.Add(Task.Run(() => UploadPhotosAsync())); } if (loadModule[4]) { tasks.Add(Task.Run(() => SaveUsersAsync())); } StartTime = DateTime.Now; EnqueueMessage( sendAsNewMessage: true, editingEnabled: false, userId: vkStuff.AdminId, message: StartTime.ToString() + " | Запустился" ); if (loadModule[5]) { tasks.Add(StartRelevanceModule()); EnqueueMessage( sendAsNewMessage: true, editingEnabled: false, userId: vkStuff.AdminId, message: DateTime.Now.ToString() + " | Запустил RelevanceModule" ); } }