Пример #1
0
        private void RecurseLoadDashboard(List<InfDashboard> items, ObservableCollection<DashboardItemViewModel> parentList, long parentId)
        {
            List<InfDashboard> childs = (from i in items where i.IdParent == parentId orderby i.Ordre select i).ToList();
            foreach (InfDashboard child in childs)
            {
                if (child.InfCodeDashboard.Code.Equals("FOLDER"))
                {
                    DashboardFolderViewModel folder = new DashboardFolderViewModel();
                    folder.Model = child;
                    folder.DisplayName = child.Libelle;
                    parentList.Add(folder);
                    this.RecurseLoadDashboard(items, folder.Items, child.Id);
                }

                if (child.InfCodeDashboard.Code.Equals("TABLE"))
                {
                    DashboardTableViewModel table = new DashboardTableViewModel();
                    table.Model = child;
                    table.DisplayName = child.Libelle;
                    parentList.Add(table);

                }
            }
        }
Пример #2
0
        public void AddTable(Object parentVm, Object entityTableInfoObj)
        {
            if (entityTableInfoObj != null && entityTableInfoObj is EntityTableInfo)
            {
                EntityTableInfo entityTableInfo = (entityTableInfoObj as EntityTableInfo);

                DbSet<InfCodeDashboard> datasCodeDashboard = _dataService.GetDbSet<InfCodeDashboard>();
                DbSet<InfDashboard> datasDashboard = _dataService.GetDbSet<InfDashboard>();
                InfDashboard dashboardTable = new InfDashboard();
                dashboardTable.Code = entityTableInfo.SchemaName+"."+entityTableInfo.TableName;
                dashboardTable.Libelle = entityTableInfo.DisplayName;
                if (parentVm != null && parentVm is DashboardFolderViewModel)
                {
                    DashboardFolderViewModel folder = parentVm as DashboardFolderViewModel;
                    dashboardTable.IdParent = folder.Model.Id;
                }
                else
                { dashboardTable.IdParent = -1; }

                dashboardTable.InfCodeDashboard = (from c in datasCodeDashboard where c.Code.Equals("TABLE") select c).FirstOrDefault();
                dashboardTable.Ordre = this.Items.Count + 1;
                datasDashboard.Add(dashboardTable);
                IEnumerable<DbEntityValidationResult> results = _dataService.DataContext.GetValidationErrors();
                _dataService.DataContext.SaveChanges();

                DashboardTableViewModel tableVm = new DashboardTableViewModel();
                tableVm.DisplayName = entityTableInfo.DisplayName;
                tableVm.Model = dashboardTable;
                if (parentVm != null && parentVm is DashboardFolderViewModel)
                {
                    DashboardFolderViewModel folder = parentVm as DashboardFolderViewModel;
                    folder.Items.Add(tableVm);
                    folder.IsExpanded = true;
                    tableVm.IsSelected = true;
                }
                else
                {
                    this.Items.Add(tableVm);
                    tableVm.IsSelected = true;
                }

                this.FillOrder();
            }
        }