internal I_NavigationMenu AddNavigationTree(I_NavigationMenu parentItem, NavigationItemDTO item, bool expanded) { NavigationMenu menu = new WPF_MyIdea.NavigationMenu(); var node = new RadTreeViewItem(); node.DataContext = item; node.Header = GetNodeHeader(item.Title, item.ObjectCategory); ItemCollection parent = null; if (parentItem == null) { parent = treeNavigatoin.Items; } else { parent = (parentItem.Node as RadTreeViewItem).Items; } parent.Add(node); if (!string.IsNullOrEmpty(item.Tooltip)) { ToolTipService.SetToolTip(node, item.Tooltip); } node.IsExpanded = expanded; menu.Node = node; node.MouseDoubleClick += (sender, e) => Node_MouseDoubleClick(sender, e, menu); return(menu); }
private RadTreeViewItem CreateNavigationNode(ItemCollection collection, DatabaseObjectCategory objectCategory, int objectIdentity, string title, string name, int entitiyID) { if (InfoUpdated != null) { InfoUpdated(this, new ItemImportingStartedArg() { ItemName = "Fetching menu item " + title }); } var node = new RadTreeViewItem(); var context = new NavigationItemDTO(); //context.ID = id; context.ObjectCategory = objectCategory; context.Title = title; context.Name = name; context.ObjectIdentity = objectIdentity; context.TableDrivedEntityID = entitiyID; context.Title = title; node.DataContext = context; node.Header = GetNodeHeader(context.Title, context.ObjectCategory); // node.Selected += node_Selected; collection.Add(node); return(node); }
//public DP_NavigatoinTreeResult GetNavigationTree(DP_NavigationTreeRequest request) //{ // BizNavigationTree biz = new BizNavigationTree(); // DP_NavigatoinTreeResult result = new DP_NavigatoinTreeResult(); // var fullNavigation = biz.GetFullNavigatoinTree(); // //موقتی // if (!request.Requester.SkipSecurity) // { // // CheckPermissions(request.Requester, fullNavigation.TreeItems); // } // var emptyFolders = fullNavigation.TreeItems.Where(x => x.ObjectCategory == DatabaseObjectCategory.Folder && !fullNavigation.TreeItems.Any(y => y.ParentID == x.ID)).ToList(); // foreach (var removeItem in emptyFolders) // RemoveTreeItem(fullNavigation.TreeItems, removeItem); // // result.Structure = new List<DP_PackageTreeStructure>(); // //foreach (var item in context.TableDrivedEntity.Where(x => x.Table.Catalog == request.DatabaseName && x.IndependentDataEntry == true)) // //{ // // DP_PackageTreeStructure nitem = new DP_PackageTreeStructure(); // // nitem.Package = item; // // if (string.IsNullOrEmpty(item.Alias)) // // nitem.Name = item.Name; // // else // // nitem.Name = item.Alias; // // result.Structure.Add(nitem); // // //result.Structure.Add(DP_PackageTreeStructureDBToND(item)); // //} // result.Items = fullNavigation.TreeItems; // return result; //} //public DP_EntitySearchResult SearchEntities(DP_EntitySearchRequest request) //{ // throw new NotImplementedException(); //} //private void FindNavigationItemsAndRemove(List<NavigationItemDTO> treeItems, PlainNavigationDTO plainItem) //{ // var removeItems = treeItems.Where(x => x.ObjectIdentity == plainItem.ObjectIdentity && x.ObjectCategory == plainItem.ObjectCategory).ToList(); // foreach (var removeItem in removeItems) // RemoveTreeItem(treeItems, removeItem); //} private void RemoveTreeItem(List <NavigationItemDTO> treeItems, NavigationItemDTO removeItem) { var item = treeItems.FirstOrDefault(x => x == removeItem); if (item != null) { foreach (var citem in treeItems.Where(x => x.ParentItem == item).ToList()) { RemoveTreeItem(treeItems, citem); } treeItems.Remove(item); } }
//private void btnSave_Click(object sender, RoutedEventArgs e) //{ //} private void CollectNavigationTreeItems(List <NavigationItemDTO> items, RadTreeViewItem parentNode) { NavigationItemDTO parentContext = null; if (parentNode != treeNavigation.Items[0]) { parentContext = parentNode.DataContext as NavigationItemDTO; } foreach (RadTreeViewItem node in parentNode.Items) { var context = node.DataContext as NavigationItemDTO; context.ParentItem = parentContext; items.Add(context); CollectNavigationTreeItems(items, node); } }
private RadTreeViewItem AddNavigationNode(ItemCollection collection, NavigationItemDTO item) { if (InfoUpdated != null) { InfoUpdated(this, new ItemImportingStartedArg() { ItemName = "Fetching menu item " + item.Title }); } var node = new RadTreeViewItem(); node.DataContext = item; node.Header = GetNodeHeader(item.Title, item.ObjectCategory); // node.Selected += node_Selected; collection.Add(node); return(node); }
private void ToNavigationTreeDTO(DR_Requester requester, List <ModelEntites.NavigationItemDTO> treeItems, NavigationTree item, NavigationItemDTO parentNavigationItem, bool withChilds) { //if (item.TableDrivedEntityID != null) //{ // var entityEnabled = bizTableDrivedEntity.IsEntityEnabled(item.TableDrivedEntityID.Value); // if (!entityEnabled) // return; //} var result = new NavigationItemDTO(); result.ID = item.ID; result.ParentID = item.ParentID; result.ObjectIdentity = item.ItemIdentity; result.Title = item.ItemTitle; result.TableDrivedEntityID = item.TableDrivedEntityID ?? 0; result.Tooltip = item.Tooltip; result.Name = item.Name; result.ObjectCategory = (DatabaseObjectCategory)Enum.Parse(typeof(DatabaseObjectCategory), item.Category); result.ParentItem = parentNavigationItem; //if (!plainItems.Any(x => x.ObjectIdentity == item.ItemIdentity && x.ObjectCategory.ToString() == item.Category)) //{ // var plainItem = new PlainNavigationDTO(); // plainItem.ObjectCategory = (DatabaseObjectCategory)Enum.Parse(typeof(DatabaseObjectCategory), item.Category); // plainItem.ObjectIdentity = item.ItemIdentity; // if (item.TableDrivedEntityID != null) // plainItem.SecurityObjectID = item.TableDrivedEntityID.Value; // else if (item.EntityReportID != null) // plainItem.SecurityObjectID = item.EntityReportID.Value; // plainItems.Add(plainItem); //} treeItems.Add(result); if (withChilds) { //result.ChildItems = new List<NavigationItemDTO>(); foreach (var citem in item.NavigationTree1) { if (DataIsAccessable(requester, citem)) { ToNavigationTreeDTO(requester, treeItems, citem, result, true); } } } }
private void CheckAddItems(List <NavigationItemDTO> items, NavigationItemDTO parentItem, NavigationTree parentDBItem, DataAccess.MyProjectEntities projectContext) { foreach (var item in items.Where(x => x.ParentItem == parentItem)) { NavigationTree dbItem = null; if (item.ID != 0) { dbItem = projectContext.NavigationTree.First(x => x.ID == item.ID); } else { dbItem = new NavigationTree(); projectContext.NavigationTree.Add(dbItem); } dbItem.Category = item.ObjectCategory.ToString(); dbItem.ItemTitle = item.Title; dbItem.Tooltip = item.Tooltip; dbItem.Name = item.Name; dbItem.ItemIdentity = item.ObjectIdentity; if (item.TableDrivedEntityID != 0) { dbItem.TableDrivedEntityID = item.TableDrivedEntityID; } else { dbItem.TableDrivedEntityID = null; } //if (item.EntityReportID != 0) // dbItem.EntityReportID = item.EntityReportID; //else // dbItem.EntityReportID = null; //if (item.ObjectCategory == DatabaseObjectCategory.Entity) // dbItem.TableDrivedEntityID = Convert.ToInt32(item.ObjectIdentity); //else if (item.ObjectCategory == DatabaseObjectCategory.Report) // dbItem.EntityReportID = Convert.ToInt32(item.ObjectIdentity); dbItem.NavigationTree2 = parentDBItem; CheckAddItems(items, item, dbItem, projectContext); } }
public I_NavigationMenu AddSearchNavigationTree(I_NavigationMenu parentItem, NavigationItemDTO item, bool expanded) { return(MainForm.AddSearchNavigationTree(parentItem, item, expanded)); }
private void ShowTreeItem(List <NavigationItemDTO> treeItems, ItemCollection itemCollection, NavigationItemDTO item) { var node = AddNavigationNode(itemCollection, item); foreach (var citem in treeItems.Where(x => x.ParentItem == item)) { ShowTreeItem(treeItems, node.Items, citem); } }