コード例 #1
0
        public void ShowMoreCommunities(long idDashboard, Int32 miniTileDisplayItems, TileLayout tLayout, Boolean autoUpdateLayout, GroupItemsBy groupBy, OrderItemsBy orderBy, long idCurrentTile, Boolean value, Boolean moreCommunities)
        {
            if (UserContext.isAnonymous)
            {
                View.DisplaySessionTimeout(RootObject.LoadPortalView(UserContext.CurrentUserID, DashboardViewType.Combined, groupBy, orderBy, View.CurrentDisplayNoticeboard, idCurrentTile, View.IdCurrentTag, true, value, moreCommunities));
            }
            else
            {
                View.DisplayLessCommand = value;
                View.DisplayMoreCommand = !value;
                if (value)
                {
                    View.SendUserAction(0, CurrentIdModule, idDashboard, ModuleDashboard.ActionType.CombinedDashboardMoreTiles);
                }
                else
                {
                    View.SendUserAction(0, CurrentIdModule, idDashboard, ModuleDashboard.ActionType.CombinedDashboardLessTiles);
                }
                dtoTileDisplay selectedTile = null;
                switch (groupBy)
                {
                case GroupItemsBy.CommunityType:
                    InitializeTileView(idDashboard, miniTileDisplayItems, tLayout, autoUpdateLayout, groupBy, orderBy, idCurrentTile, TileType.CommunityType, out selectedTile);
                    break;

                case GroupItemsBy.Tile:
                    InitializeTileView(idDashboard, miniTileDisplayItems, tLayout, autoUpdateLayout, groupBy, orderBy, idCurrentTile, TileType.CombinedTags, out selectedTile);
                    break;

                case GroupItemsBy.Tag:
                    InitializeTileView(idDashboard, miniTileDisplayItems, tLayout, autoUpdateLayout, groupBy, orderBy, idCurrentTile, TileType.CommunityTag, out selectedTile);
                    break;

                case GroupItemsBy.None:
                    View.LoadDashboard(RootObject.LoadPortalView(UserContext.CurrentUserID, DashboardViewType.List, GroupItemsBy.None, OrderItemsBy.LastAccess, DisplayNoticeboard.OnRight));
                    break;
                }
            }
        }
コード例 #2
0
        private void LoadMiniTiles(long idDashboard, List <dtoLiteTile> tiles, Int32 miniTileDisplayItems, GroupItemsBy groupBy, OrderItemsBy orderBy, long preloadIdTile, out dtoTileDisplay selectedTile)
        {
            Boolean displayLessCommand = View.DisplayLessCommand;

            if (!tiles.Where(t => t.Tile.Id == preloadIdTile).Any())
            {
                preloadIdTile = tiles.Select(t => t.Tile.Id).FirstOrDefault();
            }
            View.IdCurrentTile = preloadIdTile;
            Language l = CurrentManager.GetDefaultLanguage();

            displayLessCommand = (displayLessCommand) && tiles.Where(t => t.Tile.Id != preloadIdTile).Count() > miniTileDisplayItems;
            List <dtoTileDisplay> items = null;
            Boolean forPreview          = View.IsPreview;

            if (forPreview)
            {
                items = tiles.Where(t => t.Tile.Id != preloadIdTile).Select(t => new dtoTileDisplay(t, UserContext.Language.Id, l.Id, forPreview)
                {
                    CommandUrl = RootObject.DashboardPreview(idDashboard, DashboardViewType.Combined, groupBy, orderBy, t.Tile.Id)
                }).ToList();
            }
            else
            {
                items = tiles.Where(t => t.Tile.Id != preloadIdTile).Select(t => new dtoTileDisplay(t, UserContext.Language.Id, l.Id)
                {
                    CommandUrl = RootObject.LoadPortalView(UserContext.CurrentUserID, DashboardViewType.Combined, groupBy, orderBy, DisplayNoticeboard.OnRight, t.Tile.Id, -1, true, displayLessCommand, false)
                }).ToList();
            }

            if (displayLessCommand)
            {
                View.LoadMiniTiles(items);
                View.DisplayMoreCommand = false;
                View.DisplayLessCommand = true;
            }
            else
            {
                View.LoadMiniTiles(items.Skip(0).Take(miniTileDisplayItems).ToList());
                View.DisplayMoreCommand = (tiles.Where(t => t.Tile.Id != preloadIdTile).Count() > miniTileDisplayItems);
            }
            selectedTile = tiles.Where(t => t.Tile.Id == preloadIdTile).Select(t => new dtoTileDisplay(t, UserContext.Language.Id, l.Id, forPreview)).FirstOrDefault();
        }
コード例 #3
0
        private void InitializeTileView(long idDashboard, Int32 miniTileDisplayItems, TileLayout tLayout, Boolean autoUpdateLayout, GroupItemsBy groupBy, OrderItemsBy orderBy, long preloadIdTile, TileType type, out dtoTileDisplay selectedTile)
        {
            List <dtoLiteTile> tiles = (View.IsPreview) ? Service.TilesGetForDashboard(idDashboard, type, false) : Service.TilesGetForUser(UserContext.CurrentUserID, idDashboard, type);

            if (tiles != null)
            {
                tiles = tiles.Where(t => t.Tile.Type != TileType.DashboardUserDefined && t.Tile.Type != TileType.UserDefined).ToList();
            }
            if (tiles == null || !tiles.Any())
            {
                View.DisplayUnableToLoadTile(RootObject.LoadPortalView(UserContext.CurrentUserID, DashboardViewType.List, GroupItemsBy.None, OrderItemsBy.LastAccess, DisplayNoticeboard.OnRight));
                View.CurrentTileLayout = tLayout;
                selectedTile           = null;
            }
            else
            {
                View.CurrentTileLayout = Service.GetTileLayout(tiles.Count, tLayout, autoUpdateLayout);
                LoadMiniTiles(idDashboard, tiles, miniTileDisplayItems, groupBy, orderBy, preloadIdTile, out selectedTile);
            }
        }