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);
        }
Example #2
0
        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);
            }
        }
Example #4
0
        //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);
            }
        }
Example #5
0
        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);
            }
        }
Example #8
0
 public I_NavigationMenu AddSearchNavigationTree(I_NavigationMenu parentItem, NavigationItemDTO item, bool expanded)
 {
     return(MainForm.AddSearchNavigationTree(parentItem, item, expanded));
 }
Example #9
0
        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);
            }
        }