コード例 #1
0
        private void InitializeView(litePageSettings pageSettings, UserCurrentSettings userSettings, List <dtoItemFilter <OrderItemsBy> > items, long idDashboard, Boolean moreTiles, Boolean moreCommunities, long preloadIdTile = -1, long preloadIdTag = -1)
        {
            dtoTileDisplay selectedTile = null;
            long           idTag        = preloadIdTag;

            switch (userSettings.GroupBy)
            {
            case GroupItemsBy.CommunityType:
                InitializeTileView(idDashboard, pageSettings.MiniTileDisplayItems, pageSettings.TileLayout, pageSettings.AutoUpdateLayout, userSettings.GroupBy, userSettings.OrderBy, preloadIdTile, TileType.CommunityType, out selectedTile);
                break;

            case GroupItemsBy.Tile:
                InitializeTileView(idDashboard, pageSettings.MiniTileDisplayItems, pageSettings.TileLayout, pageSettings.AutoUpdateLayout, userSettings.GroupBy, userSettings.OrderBy, preloadIdTile, TileType.CombinedTags, out selectedTile);
                break;

            case GroupItemsBy.Tag:
                InitializeTagView(idDashboard, pageSettings.MiniTileDisplayItems, pageSettings.TileLayout, pageSettings.AutoUpdateLayout, userSettings.OrderBy, ref idTag);
                break;

            case GroupItemsBy.None:
                View.LoadDashboard(RootObject.LoadPortalView(UserContext.CurrentUserID, DashboardViewType.List, GroupItemsBy.None, OrderItemsBy.LastAccess, DisplayNoticeboard.OnRight));
                break;
            }
            if (selectedTile != null)
            {
                userSettings.IdSelectedTile = selectedTile.Id;
                View.InitializeCommunitiesList(pageSettings, userSettings, items, moreCommunities, selectedTile);
            }
        }
コード例 #2
0
        public void InitView(DashboardViewType view)
        {
            if (UserContext.isAnonymous)
            {
                View.DisplaySessionTimeout();
            }
            else
            {
                if (UserContext.CurrentCommunityID > 0)
                {
                    Int32 idOrganization = CurrentManager.GetUserDefaultIdOrganization(UserContext.CurrentUserID);
                    View.GeneratePortalWebContext(idOrganization);
                    UserContext.CurrentCommunityID             = 0;
                    UserContext.CurrentCommunityOrganizationID = idOrganization;
                    UserContext.WorkingCommunityID             = 0;
                }

                Boolean moreTiles = View.LoadFromUrl && View.PreloadMoreTiles;
                liteDashboardSettings settings     = Service.DashboardSettingsGet(DashboardType.Portal, 0);
                UserCurrentSettings   userSettings = GetUserSettings(view, settings);
                View.EnableFullWidth((settings == null) ? false : settings.FullWidth);
                View.InitalizeTopBar(settings, userSettings, moreTiles, View.PreloadSearchText);


                Boolean moreCommunities = View.LoadFromUrl && View.PreloadMoreCommunities;

                InitializeView(view, settings, userSettings, moreTiles, moreCommunities, userSettings.IdSelectedTile, userSettings.IdSelectedTag);
            }
        }
コード例 #3
0
        private void LoadViews(liteDashboardSettings settings, UserCurrentSettings userSettings)
        {
            List <dtoItemFilter <DashboardViewType> > views = settings.Container.AvailableViews.Where(v => v != DashboardViewType.Search).Select(v => new dtoItemFilter <DashboardViewType>()
            {
                Value = v, Selected = (v == userSettings.View)
            }).ToList();

            if (!views.Where(v => v.Selected).Any())
            {
                views.Add(new dtoItemFilter <DashboardViewType>()
                {
                    Selected = true, Value = userSettings.View
                });
            }
            if (views.Count > 1)
            {
                views.FirstOrDefault().DisplayAs = ItemDisplayOrder.first;
                views.LastOrDefault().DisplayAs  = ItemDisplayOrder.last;
            }
            else if (views.Any())
            {
                views[0].DisplayAs = ItemDisplayOrder.first | ItemDisplayOrder.last;
            }
            View.InitializeViewSelector(views);
        }
コード例 #4
0
 public void InitView(WizardDashboardStep step, long idDashboard, Int32 idCommunity, DashboardType dashboardType)
 {
     if (UserContext.isAnonymous)
     {
         View.DisplaySessionTimeout();
     }
     else
     {
         View.IdDashboard = idDashboard;
         View.CurrentStep = step;
         liteDashboardSettings settings = CurrentManager.Get <liteDashboardSettings>(idDashboard);
         Int32 idDashboardCommunity     = (settings == null) ? ((dashboardType == DashboardType.Community) ? idCommunity : 0) : settings.IdCommunity;
         View.DashboardIdCommunity = idDashboardCommunity;
         if (settings == null)
         {
             View.DisplayUnknownDashboard();
         }
         else
         {
             View.InitializeSettingsInfo(settings);
             UserCurrentSettings userSettings = GetUserSettings(step, settings);
             View.CurrentSettings = userSettings;
             View.EnableFullWidth((settings == null) ? false : settings.FullWidth);
             InitalizeTopBar(settings, userSettings);
             if (userSettings.View != DashboardViewType.Search)
             {
                 LoadGroupBy(settings, userSettings);
             }
             InitializeView(settings, userSettings);
             View.IsInitialized = true;
         }
     }
 }
コード例 #5
0
        public void LoadCommunities(DashboardViewType view, UserCurrentSettings userSettings, Int32 pageIndex, Int32 pageSize, OrderItemsBy orderBy, Boolean ascending, Int32 idCommunityType = -1, Int32 idRemoveCommunityType = -1, long idTile = -1, long idTag = -1, dtoTileDisplay tile = null)
        {
            if (UserContext.isAnonymous)
            {
                View.DisplaySessionTimeout();
            }
            else
            {
                if (View.DisplayLessCommand)
                {
                    Int32     itemsCount = Service.GetSubscribedCommunitiesCount(UserContext.CurrentUserID, view, idCommunityType, idRemoveCommunityType, idTile, idTag, tile);
                    PagerBase pager      = new PagerBase();
                    pager.PageSize  = pageSize;  //Me.View.CurrentPageSize
                    pager.Count     = (itemsCount > 0) ? itemsCount - 1 : 0;
                    pager.PageIndex = pageIndex; // Me.View.CurrentPageIndex
                    View.Pager      = pager;
                }
                List <dtoSubscriptionItem> items = Service.GetSubscribedCommunities(UserContext.CurrentUserID, view, pageIndex, pageSize, orderBy, ascending, idCommunityType, idRemoveCommunityType, idTile, idTag, tile);
                if (items != null)
                {
                    List <Int32> withNews = View.GetIdcommunitiesWithNews(items.Where(i => i.Status != SubscriptionStatus.communityblocked && i.Status != SubscriptionStatus.blocked && i.Status != SubscriptionStatus.waiting).Select(i => i.Community.Id).ToList(), UserContext.CurrentUserID);
                    if (withNews.Any())
                    {
                        items.Where(i => withNews.Contains(i.Community.Id)).ToList().ForEach(i => i.HasNews = true);
                    }
                    switch (view)
                    {
                    case DashboardViewType.List:
                    case DashboardViewType.Combined:
                        Language l = CurrentManager.GetDefaultLanguage();
                        Dictionary <Int32, List <String> > tags = ServiceTags.GetCommunityAssociationToString(items.Select(i => i.Community.Id).ToList(), UserContext.Language.Id, l.Id, true);
                        if (tags.Any())
                        {
                            foreach (dtoSubscriptionItem item in items.Where(i => tags.ContainsKey(i.Community.Id)))
                            {
                                item.Community.Tags = tags[item.Community.Id];
                            }
                        }
                        break;
                    }

                    View.LoadItems(items, orderBy, ascending);
                    if (userSettings != null)
                    {
                        userSettings.Ascending = ascending;
                        userSettings.OrderBy   = orderBy;
                        userSettings.View      = view;
                        View.UpdateUserSettings(userSettings);
                    }
                    //View.SendUserAction(0, CurrentIdModule, ModuleDashboard.ActionType.ListDashboardLoadSubscribedCommunities);
                }
                else
                {
                    View.DisplayErrorFromDB();
                }
            }
        }
コード例 #6
0
        public void InitView(litePageSettings pageSettings, UserCurrentSettings userSettings, List <dtoItemFilter <OrderItemsBy> > items, Int32 idCommunityType = -1, Int32 idRemoveCommunityType = -1, long idTile = -1, long idTag = -1, dtoTileDisplay tile = null)
        {
            if (UserContext.isAnonymous)
            {
                View.DisplaySessionTimeout();
            }
            else
            {
                View.IdCurrentCommunityType       = idCommunityType;
                View.IdCurrentRemoveCommunityType = idRemoveCommunityType;
                View.IdCurrentTag      = idTag;
                View.IdCurrentTile     = (tile == null) ? idTile : tile.Id;
                View.IdCurrentTileTags = (tile == null) ? new List <long>() : tile.Tags;
                View.PageType          = pageSettings.Type;
                View.DefaultPageSize   = pageSettings.MaxMoreItems;
                Int32 itemsCount = Service.GetSubscribedCommunitiesCount(UserContext.CurrentUserID, pageSettings.Type, idCommunityType, idRemoveCommunityType, idTile, idTag, tile);
                Int32 pageSize   = InitializePageSize(pageSettings, itemsCount);
                View.CurrentPageSize = pageSize;

                OrderItemsBy orderBy   = items.Where(i => i.Selected).Select(i => i.Value).FirstOrDefault();
                Boolean      ascending = false;
                if (orderBy != userSettings.OrderBy)
                {
                    switch (orderBy)
                    {
                    //case OrderItemsBy.ActivatedOn:
                    //case OrderItemsBy.ClosedOn:
                    //case OrderItemsBy.CreatedOn:
                    //case OrderItemsBy.LastAccess:
                    case OrderItemsBy.Name:
                        ascending = true;
                        break;
                    }
                }
                else
                {
                    ascending = userSettings.Ascending;
                }

                View.CurrentOrderBy   = orderBy;
                View.CurrentAscending = ascending;
                View.AvailableColumns = new List <searchColumn>()
                {
                    searchColumn.subscriptioninfo, searchColumn.genericdate
                };
                LoadCommunities(pageSettings.Type, userSettings, 0, pageSize, orderBy, ascending, idCommunityType, idRemoveCommunityType, idTile, idTag, tile);
            }
        }
コード例 #7
0
 public void InitView(litePageSettings pageSettings, UserCurrentSettings userSettings, List <dtoItemFilter <OrderItemsBy> > items, long idDashboard, Boolean moreTiles, Boolean moreCommunities, long idTile = -1, long idTag = -1)
 {
     if (UserContext.isAnonymous)
     {
         View.DisplaySessionTimeout(RootObject.LoadPortalView(UserContext.CurrentUserID, DashboardViewType.Combined, userSettings.GroupBy, userSettings.OrderBy, userSettings.GetNoticeboard(DashboardViewType.Combined), idTile, idTile, true, moreTiles, moreCommunities));
     }
     else
     {
         View.CurrentDisplayNoticeboard = userSettings.GetNoticeboard(DashboardViewType.Combined);
         View.IdCurrentDashboard        = idDashboard;
         View.MiniTileDisplayItems      = pageSettings.MiniTileDisplayItems;
         View.MoreItemsAs         = pageSettings.More;
         View.AutoUpdateLayout    = pageSettings.AutoUpdateLayout;
         View.CurrentGroupItemsBy = userSettings.GroupBy;
         View.CurrentOrderItemsBy = userSettings.OrderBy;
         View.DisplayLessCommand  = moreTiles;
         View.DisplayMoreCommand  = !moreTiles;
         InitializeView(pageSettings, userSettings, items, idDashboard, moreTiles, moreCommunities, idTile, idTag);
     }
 }
コード例 #8
0
ファイル: SearchPresenter.cs プロジェクト: EdutechSRL/Adevico
        private UserCurrentSettings GetUserSettings(liteDashboardSettings settings)
        {
            UserCurrentSettings userSettings = View.GetCurrentCookie();

            if (userSettings == null)
            {
                userSettings                     = new UserCurrentSettings();
                userSettings.GroupBy             = settings.Container.Default.GroupBy;
                userSettings.AfterUserLogon      = settings.Container.Default.AfterUserLogon;
                userSettings.DefaultNoticeboard  = settings.Container.Default.DefaultNoticeboard;
                userSettings.CombinedNoticeboard = settings.Container.Default.CombinedNoticeboard;
                userSettings.TileNoticeboard     = settings.Container.Default.TileNoticeboard;
                userSettings.ListNoticeboard     = settings.Container.Default.ListNoticeboard;
                userSettings.OrderBy             = settings.Container.Default.OrderBy;
                userSettings.View                = settings.Container.Default.View;
                userSettings.Ascending           = (userSettings.OrderBy == OrderItemsBy.Name) ? true : false;
                View.SaveCurrentCookie(userSettings);
            }
            return(userSettings);
        }
コード例 #9
0
 public void ChangeView(DashboardViewType view, long idDashboard, UserCurrentSettings userSettings, Dictionary <DashboardViewType, List <dtoItemFilter <OrderItemsBy> > > order, String searchBy = "")
 {
     if (UserContext.isAnonymous)
     {
         View.DisplaySessionTimeout();
     }
     else
     {
         liteDashboardSettings settings = CurrentManager.Get <liteDashboardSettings>(idDashboard);
         if (settings == null)
         {
             View.DisplayUnknownDashboard();
         }
         else
         {
             View.InitializeSettingsInfo(settings);
             ChangeView(view, settings, userSettings, order, searchBy, true);
         }
     }
 }
コード例 #10
0
        public void ChangeGroupBy(DashboardViewType view, GroupItemsBy groupBy)
        {
            liteDashboardSettings settings     = Service.DashboardSettingsGet(DashboardType.Portal, 0);
            UserCurrentSettings   userSettings = View.GetCurrentCookie();

            if (userSettings == null)
            {
                userSettings                     = new UserCurrentSettings();
                userSettings.GroupBy             = groupBy;
                userSettings.AfterUserLogon      = settings.Container.Default.AfterUserLogon;
                userSettings.DefaultNoticeboard  = settings.Container.Default.DefaultNoticeboard;
                userSettings.TileNoticeboard     = settings.Container.Default.TileNoticeboard;
                userSettings.CombinedNoticeboard = settings.Container.Default.CombinedNoticeboard;
                userSettings.ListNoticeboard     = settings.Container.Default.ListNoticeboard;
                userSettings.OrderBy             = (groupBy == settings.Container.Default.GroupBy) ? settings.Container.Default.OrderBy : OrderItemsBy.LastAccess;
                userSettings.View                = view;
                userSettings.Ascending           = (userSettings.OrderBy == OrderItemsBy.Name) ? true : false;
            }
            else
            {
                if (userSettings.GroupBy != groupBy)
                {
                    switch (userSettings.GroupBy)
                    {
                    case GroupItemsBy.CommunityType:
                    case GroupItemsBy.Tile:
                        userSettings.IdSelectedTile = -1;
                        break;

                    case GroupItemsBy.Tag:
                        userSettings.IdSelectedTag = -1;
                        break;
                    }
                }

                userSettings.GroupBy = groupBy;
                userSettings.OrderBy = (groupBy == settings.Container.Default.GroupBy) ? settings.Container.Default.OrderBy : OrderItemsBy.LastAccess;
            }
            View.SaveCurrentCookie(userSettings);
            InitializeView(view, settings, userSettings, false, false, userSettings.IdSelectedTile, userSettings.IdSelectedTag);
        }
コード例 #11
0
ファイル: SearchPresenter.cs プロジェクト: EdutechSRL/Adevico
        public void InitView(DisplaySearchItems search, String searchText, Boolean forSubscription = false)
        {
            if (UserContext.isAnonymous)
            {
                View.DisplaySessionTimeout();
            }
            else
            {
                if (UserContext.CurrentCommunityID > 0)
                {
                    Int32 idOrganization = CurrentManager.GetUserDefaultIdOrganization(UserContext.CurrentUserID);
                    View.GeneratePortalWebContext(idOrganization);
                    UserContext.CurrentCommunityID             = 0;
                    UserContext.CurrentCommunityOrganizationID = idOrganization;
                    UserContext.WorkingCommunityID             = 0;
                }

                liteDashboardSettings settings     = Service.DashboardSettingsGet(DashboardType.Portal, 0);
                UserCurrentSettings   userSettings = GetUserSettings(settings);
                InitializeView(settings, userSettings, search, searchText, forSubscription);
            }
        }
コード例 #12
0
        private void InitializeView(liteDashboardSettings settings, UserCurrentSettings userSettings)
        {
            if (!settings.Pages.Where(p => p.Type == userSettings.View).Any())
            {
                userSettings.View = settings.Pages.Select(p => p.Type).FirstOrDefault();
            }
            List <dtoItemFilter <OrderItemsBy> > items = GetOrderByItems(settings, userSettings);
            Dictionary <DashboardViewType, List <dtoItemFilter <OrderItemsBy> > > order = new  Dictionary <DashboardViewType, List <dtoItemFilter <OrderItemsBy> > >();

            order.Add(DashboardViewType.Tile, null);
            order.Add(DashboardViewType.Combined, items);
            order.Add(DashboardViewType.List, items);
            order.Add(DashboardViewType.Search, items);
            View.CurrentOrderItems = order;
            if (settings.Pages.Where(p => p.Type != DashboardViewType.Search && p.Type != DashboardViewType.Subscribe).Any())
            {
                ChangeView(userSettings.View, settings, userSettings, order);
            }
            else
            {
                View.DisplayNoViewAvailable();
            }
        }
コード例 #13
0
        private void LoadGroupBy(liteDashboardSettings settings, UserCurrentSettings userSettings)
        {
            switch (userSettings.View)
            {
            case DashboardViewType.List:
                break;

            default:
                List <dtoItemFilter <GroupItemsBy> > items = settings.Container.AvailableGroupBy.Select(v => new dtoItemFilter <GroupItemsBy>()
                {
                    Value = v, Selected = (v == userSettings.GroupBy)
                }).ToList();
                if (items.Any() && !items.Where(i => i.Selected).Any())
                {
                    if (items.Where(i => i.Value != GroupItemsBy.None).Any())
                    {
                        items.Where(i => i.Value != GroupItemsBy.None).FirstOrDefault().Selected = true;
                    }
                    else
                    {
                        items.FirstOrDefault().Selected = true;
                    }
                }

                if (items.Count > 1)
                {
                    items.FirstOrDefault().DisplayAs = ItemDisplayOrder.first;
                    items.LastOrDefault().DisplayAs  = ItemDisplayOrder.last;
                }
                else if (items.Any())
                {
                    items[0].DisplayAs = ItemDisplayOrder.first | ItemDisplayOrder.last;
                }
                View.InitializeGroupBySelector(items);
                break;
            }
        }
コード例 #14
0
        private List <dtoItemFilter <OrderItemsBy> > GetOrderByItems(liteDashboardSettings settings, UserCurrentSettings userSettings)
        {
            List <dtoItemFilter <OrderItemsBy> > items = settings.Container.AvailableOrderBy.Select(o => new dtoItemFilter <OrderItemsBy>()
            {
                Value = o, Selected = (o == userSettings.OrderBy)
            }).ToList();

            if (!items.Where(v => v.Selected).Any() && items.Any())
            {
                items[0].Selected = true;
            }
            if (items.Count > 1)
            {
                items.FirstOrDefault().DisplayAs = ItemDisplayOrder.first;
                items.LastOrDefault().DisplayAs  = ItemDisplayOrder.last;
            }
            else if (items.Any())
            {
                items[0].DisplayAs = ItemDisplayOrder.first | ItemDisplayOrder.last;
            }
            return(items);
        }
コード例 #15
0
 public void InitView(Int32 idCommunity, DisplayNoticeboard noticeboard, litePageSettings pageSettings, UserCurrentSettings userSettings, long idDashboard, Boolean moreTiles)
 {
     if (UserContext.isAnonymous)
     {
         View.DisplaySessionTimeout(RootObject.LoadPortalView(UserContext.CurrentUserID, DashboardViewType.Tile, userSettings.GroupBy, userSettings.OrderBy, noticeboard, -1, -1, true, moreTiles, false));
     }
     else
     {
         View.IdCurrentCommunity        = idCommunity;
         View.IdCurrentDashboard        = idDashboard;
         View.TileDisplayItems          = pageSettings.MaxItems;
         View.MoreItemsAs               = pageSettings.More;
         View.AutoUpdateLayout          = pageSettings.AutoUpdateLayout;
         View.CurrentGroupItemsBy       = userSettings.GroupBy;
         View.CurrentOrderItemsBy       = userSettings.OrderBy;
         View.DisplayLessCommand        = moreTiles;
         View.DisplayMoreCommand        = !moreTiles;
         View.CurrentDisplayNoticeboard = noticeboard;
         View.TileRedirectOn            = pageSettings.TileRedirectOn;
         InitializeView(noticeboard, pageSettings, userSettings, idDashboard, moreTiles);
     }
 }
コード例 #16
0
        private void ChangeView(DashboardViewType view, liteDashboardSettings settings, UserCurrentSettings userSettings, Dictionary <DashboardViewType, List <dtoItemFilter <OrderItemsBy> > > order, String searchBy = "", Boolean firstLoad = false)
        {
            userSettings.View    = view;
            View.CurrentSettings = userSettings;
            LoadViews(settings, userSettings);
            switch (view)
            {
            case DashboardViewType.List:
                View.InitializeLayout(GetPlainLayout(settings, userSettings.View), settings.Container.Default.GetNoticeboard(userSettings.View));
                View.InitializeCommunitiesList(settings.Pages.Where(p => p.Type == DashboardViewType.List).FirstOrDefault(), userSettings, order[view]);
                break;

            case DashboardViewType.Combined:
                if (firstLoad)
                {
                    LoadGroupBy(settings, userSettings);
                }
                View.InitializeLayout(GetPlainLayout(settings, userSettings.View), settings.Container.Default.GetNoticeboard(userSettings.View));
                View.IntializeCombinedView(settings.Pages.Where(p => p.Type == DashboardViewType.Combined).FirstOrDefault(), userSettings, order[view], settings.Id, View.PreloadIdTile);
                break;

            case DashboardViewType.Tile:
                if (firstLoad)
                {
                    LoadGroupBy(settings, userSettings);
                }
                View.InitializeLayout(GetPlainLayout(settings, userSettings.View), settings.Container.Default.GetNoticeboard(userSettings.View));
                View.IntializeTileView(0, settings.Container.Default.GetNoticeboard(userSettings.View), settings.Pages.Where(p => p.Type == DashboardViewType.Tile).FirstOrDefault(), userSettings, settings.Id);
                break;

            case DashboardViewType.Search:
                View.InitializeLayout(GetPlainLayout(settings, userSettings.View), DisplayNoticeboard.Hide);

                liteTile    tile   = null;
                long        idTile = View.PreloadIdTile;
                List <long> idTags = new List <long>();
                Int32       idType = -1;
                if (idTile > 0)
                {
                    tile = Service.GetTile(idTile);
                    if (tile != null)
                    {
                        switch (tile.Type)
                        {
                        case TileType.CommunityType:
                            if (tile.CommunityTypes != null)
                            {
                                idType = tile.CommunityTypes.FirstOrDefault();
                                idTile = -1;
                            }
                            break;

                        case TileType.CommunityTag:
                        case TileType.CombinedTags:
                            if (tile.Tags != null && tile.Tags.Any(t => t.Tag != null) && tile.Tags.Any(t => t.Deleted == BaseStatusDeleted.None))
                            {
                                idTags.AddRange(tile.Tags.Where(t => t.Tag != null && t.Deleted == BaseStatusDeleted.None).Select(t => t.Tag.Id).ToList());
                            }
                            break;
                        }
                    }
                }
                View.TagsToLoad = idTags;
                lm.Comol.Core.BaseModules.CommunityManagement.dtoCommunitiesFilters filters = null;
                List <lm.Comol.Core.DomainModel.Filters.Filter> fToLoad = ServiceDashboard.GetDefaultFilters(UserContext.CurrentUserID, searchBy, idType, idTile, idTags, null, CommunityManagement.CommunityAvailability.Subscribed, -1).OrderBy(f => f.DisplayOrder).ToList();
                if (fToLoad != null && fToLoad.Any())
                {
                    filters = new lm.Comol.Core.BaseModules.CommunityManagement.dtoCommunitiesFilters(fToLoad, CommunityManagement.CommunityAvailability.Subscribed, idType, idTile);
                    filters.IdcommunityType = idType;
                    if (!String.IsNullOrEmpty(searchBy))
                    {
                        filters.SearchBy = CommunityManagement.SearchCommunitiesBy.Contains;
                    }
                    filters.IdTile = idTile;
                    filters.IdTags = idTags;
                }
                else
                {
                    filters = new lm.Comol.Core.BaseModules.CommunityManagement.dtoCommunitiesFilters();
                    filters.IdcommunityType = idType;
                    filters.SearchBy        = CommunityManagement.SearchCommunitiesBy.Contains;
                    filters.Value           = searchBy;
                    filters.Availability    = CommunityManagement.CommunityAvailability.Subscribed;
                    filters.IdOrganization  = -1;
                    filters.IdTile          = idTile;
                    filters.IdTags          = idTags;
                }
                Int32 idUserLanguage    = ((UserContext != null && UserContext.Language != null) ? UserContext.Language.Id : -2);
                Int32 idDefaultLanguage = CurrentManager.GetDefaultIdLanguage();
                View.InitializeSearchView(settings.Pages.Where(p => p.Type == DashboardViewType.Search).FirstOrDefault(), fToLoad, filters, order[DashboardViewType.Search], tile, idUserLanguage, idDefaultLanguage);
                break;
            }
        }
コード例 #17
0
        private void InitializeView(DashboardViewType view, liteDashboardSettings settings, UserCurrentSettings userSettings, Boolean moreTiles, Boolean moreCommunities, long idPreloadedTile, long idPreloadedTag)
        {
            if (!settings.Pages.Where(p => p.Type == view).Any())
            {
                view = settings.Pages.Select(p => p.Type).FirstOrDefault();
            }
            List <dtoItemFilter <OrderItemsBy> > items = (view == DashboardViewType.Tile) ? null : GetOrderByItems(settings, userSettings);

            switch (view)
            {
            case DashboardViewType.List:
                View.SendUserAction(0, CurrentIdModule, settings.Id, ModuleDashboard.ActionType.ListDashboardLoad);
                View.InitializeLayout(GetPlainLayout(settings, view), settings.Container.Default.GetNoticeboard(view));
                View.InitializeCommunitiesList(settings.Pages.Where(p => p.Type == DashboardViewType.List).FirstOrDefault(), userSettings, items);
                break;

            case DashboardViewType.Combined:
                View.SendUserAction(0, CurrentIdModule, settings.Id, ModuleDashboard.ActionType.CombinedDashboardLoad);
                View.InitializeLayout(GetPlainLayout(settings, view), settings.Container.Default.GetNoticeboard(view));
                View.IntializeCombinedView(settings.Pages.Where(p => p.Type == DashboardViewType.Combined).FirstOrDefault(), userSettings, items, settings.Id, moreTiles, moreCommunities, idPreloadedTile);
                break;

            case DashboardViewType.Tile:
                View.SendUserAction(0, CurrentIdModule, settings.Id, ModuleDashboard.ActionType.TileDashboardLoad);
                View.InitializeLayout(GetPlainLayout(settings, view), settings.Container.Default.GetNoticeboard(view));
                View.IntializeTileView(0, settings.Container.Default.GetNoticeboard(view), settings.Pages.Where(p => p.Type == DashboardViewType.Tile).FirstOrDefault(), userSettings, settings.Id, moreTiles);
                break;

            case DashboardViewType.Search:
                DisplaySearchItems search = View.PreloadSearch;

                View.SendUserAction(0, CurrentIdModule, settings.Id, (search == DisplaySearchItems.Advanced) ? ModuleDashboard.ActionType.SearchAdvancedDashboardLoad : ModuleDashboard.ActionType.SearchSimpleDashboardLoad);
                View.InitializeLayout(GetPlainLayout(settings, view), DisplayNoticeboard.Hide);
                break;
            }
        }
コード例 #18
0
 public void InitViewByTile(litePageSettings pageSettings, UserCurrentSettings userSettings, List <dtoItemFilter <OrderItemsBy> > items, dtoTileDisplay tile)
 {
     InitView(pageSettings, userSettings, items, -1, -1, -1, -1, tile);
 }
コード例 #19
0
 public void InitViewByTag(litePageSettings pageSettings, UserCurrentSettings userSettings, List <dtoItemFilter <OrderItemsBy> > items, long idTag)
 {
     InitView(pageSettings, userSettings, items, -1, -1, -1, idTag);
 }
コード例 #20
0
        private void InitializeView(DisplayNoticeboard noticeboard, litePageSettings pageSettings, UserCurrentSettings userSettings, long idDashboard, Boolean moreTiles)
        {
            switch (userSettings.GroupBy)
            {
            case GroupItemsBy.CommunityType:
                InitializeTileView(pageSettings.TileRedirectOn, noticeboard, idDashboard, pageSettings.MaxItems, pageSettings.TileLayout, pageSettings.AutoUpdateLayout, userSettings.GroupBy, TileType.CommunityType);
                break;

            case GroupItemsBy.Tile:
                InitializeTileView(pageSettings.TileRedirectOn, noticeboard, idDashboard, pageSettings.MaxItems, pageSettings.TileLayout, pageSettings.AutoUpdateLayout, userSettings.GroupBy, TileType.CombinedTags);
                break;

            case GroupItemsBy.Tag:
                InitializeTagView(pageSettings.TileRedirectOn, noticeboard, idDashboard, pageSettings.MaxItems, pageSettings.TileLayout, pageSettings.AutoUpdateLayout);
                break;

            case GroupItemsBy.None:
                if (!View.IsPreview)
                {
                    View.LoadDashboard(RootObject.LoadPortalView(UserContext.CurrentUserID, DashboardViewType.List, GroupItemsBy.None, OrderItemsBy.LastAccess, noticeboard));
                }
                break;
            }
        }
コード例 #21
0
        private UserCurrentSettings GetUserSettings(WizardDashboardStep step, liteDashboardSettings settings)
        {
            UserCurrentSettings userSettings = new UserCurrentSettings();

            userSettings.AfterUserLogon      = settings.Container.Default.AfterUserLogon;
            userSettings.DefaultNoticeboard  = settings.Container.Default.DefaultNoticeboard;
            userSettings.CombinedNoticeboard = settings.Container.Default.CombinedNoticeboard;
            userSettings.TileNoticeboard     = settings.Container.Default.TileNoticeboard;
            userSettings.ListNoticeboard     = settings.Container.Default.ListNoticeboard;
            userSettings.OrderBy             = settings.Container.Default.OrderBy;

            switch (step)
            {
            case WizardDashboardStep.CommunityTypes:
                if (settings.Container.AvailableViews.Contains(DashboardViewType.Tile))
                {
                    userSettings.View    = DashboardViewType.Tile;
                    userSettings.GroupBy = GroupItemsBy.CommunityType;
                }
                break;

            case WizardDashboardStep.Modules:
            case WizardDashboardStep.Tiles:
                if (settings.Container.AvailableViews.Contains(DashboardViewType.Tile))
                {
                    userSettings.View    = DashboardViewType.Tile;
                    userSettings.GroupBy = View.PreloadGroupBy;
                    userSettings.OrderBy = View.PreloadOrderBy;
                    if (userSettings.GroupBy == GroupItemsBy.None)
                    {
                        userSettings.GroupBy = GroupItemsBy.Tile;
                    }
                }
                break;

            //case WizardDashboardStep.None:
            //    userSettings.View = View.PreloadViewType;
            //    userSettings.GroupBy = View.PreloadGroupBy;
            //    if (userSettings.GroupBy== GroupItemsBy.None)
            //        userSettings.GroupBy = settings.Container.Default.GroupBy;
            //    break;
            default:
                DashboardViewType pLoad = View.PreloadViewType;
                userSettings.View    = (pLoad == DashboardViewType.Search || pLoad == DashboardViewType.Combined) ? pLoad : settings.Container.Default.View;
                userSettings.GroupBy = settings.Container.Default.GroupBy;
                break;
            }
            switch (userSettings.GroupBy)
            {
            case GroupItemsBy.CommunityType:
                userSettings.IdSelectedTile = View.PreloadIdTile;
                userSettings.IdSelectedTag  = -1;
                break;

            case GroupItemsBy.Tag:
                userSettings.IdSelectedTile = -1;
                userSettings.IdSelectedTag  = View.PreloadIdTag;
                break;

            case GroupItemsBy.Tile:
                userSettings.IdSelectedTile = View.PreloadIdTile;
                userSettings.IdSelectedTag  = -1;
                break;
            }
            View.CurrentStep       = step;
            userSettings.Ascending = (userSettings.OrderBy == OrderItemsBy.Name) ? true : false;
            return(userSettings);
        }
コード例 #22
0
        public void ChangeGroupBy(long idDashboard, DashboardViewType view, GroupItemsBy groupBy, UserCurrentSettings userSettings)
        {
            liteDashboardSettings settings = CurrentManager.Get <liteDashboardSettings>(idDashboard);

            if (settings == null)
            {
                View.DisplayUnknownDashboard();
            }
            else
            {
                View.InitializeSettingsInfo(settings);
                View.SelectedGroupBy = groupBy;
                userSettings.View    = view;

                if (userSettings.GroupBy != groupBy)
                {
                    switch (userSettings.GroupBy)
                    {
                    case GroupItemsBy.CommunityType:
                    case GroupItemsBy.Tile:
                        userSettings.IdSelectedTile = -1;
                        break;

                    case GroupItemsBy.Tag:
                        userSettings.IdSelectedTag = -1;
                        break;
                    }
                }
                userSettings.GroupBy = groupBy;
                userSettings.OrderBy = (groupBy == settings.Container.Default.GroupBy) ? settings.Container.Default.OrderBy : OrderItemsBy.LastAccess;
                View.CurrentSettings = userSettings;
                ChangeView(userSettings.View, settings, userSettings, View.CurrentOrderItems);
            }
        }
コード例 #23
0
        private void LoadViews(DashboardViewType sView, liteDashboardSettings settings, UserCurrentSettings userSettings, Boolean moreTiles)
        {
            List <dtoItemFilter <DashboardViewType> > views = settings.Container.AvailableViews.Where(v => v != DashboardViewType.Search && v != DashboardViewType.Subscribe).Select(v => new dtoItemFilter <DashboardViewType>()
            {
                Value = v, Selected = (v == sView)
            }).ToList();

            if (!views.Where(v => v.Selected).Any())
            {
                views.Add(new dtoItemFilter <DashboardViewType>()
                {
                    Selected = true, Value = sView
                });
            }
            if (views.Count > 1)
            {
                views.FirstOrDefault().DisplayAs = ItemDisplayOrder.first;
                views.LastOrDefault().DisplayAs  = ItemDisplayOrder.last;
            }
            else if (views.Any())
            {
                views[0].DisplayAs = ItemDisplayOrder.first | ItemDisplayOrder.last;
            }
            foreach (dtoItemFilter <DashboardViewType> item in views)
            {
                item.Url = RootObject.LoadPortalView(UserContext.CurrentUserID, item.Value, userSettings.GroupBy, userSettings.OrderBy, userSettings.GetNoticeboard(item.Value), -1, -1, true, moreTiles);
//                item.Url = RootObject.LoadPortalView(item.Value, (item.Value == DashboardViewType.List) ? GroupItemsBy.None : userSettings.GroupBy, userSettings.OrderBy, userSettings.GetNoticeboard(item.Value), -1, -1, true, moreTiles);
            }
            View.InitializeViewSelector(views);
        }
コード例 #24
0
        public void InitView(DashboardViewType cView, liteDashboardSettings settings, UserCurrentSettings userSettings, Boolean moreTiles)
        {
            if (UserContext.isAnonymous)
            {
                View.DisplaySessionTimeout();
            }
            else
            {
                View.InitializeSearch(settings.Container.Default.Search);

                LoadViews(cView, settings, userSettings, moreTiles);

                if (cView != DashboardViewType.Search)
                {
                    LoadGroupBy(cView, settings, userSettings);
                }
            }
        }
コード例 #25
0
ファイル: SearchPresenter.cs プロジェクト: EdutechSRL/Adevico
        private void InitializeView(liteDashboardSettings settings, UserCurrentSettings userSettings, DisplaySearchItems search, String searchText, Boolean forSubscription = false)
        {
            List <dtoItemFilter <OrderItemsBy> > items = GetOrderByItems(settings, userSettings);
            Int32       idType = View.PreloadIdCommunityType;
            List <long> idTags = new List <long>();
            long        idTile = View.PreloadIdTile;

            View.EnableFullWidth((settings == null) ? false : settings.FullWidth);
            View.InitalizeTopBar(settings, userSettings, searchText);
            liteTile tile = null;

            if (idTile > 0)
            {
                tile = Service.GetTile(idTile);
                if (tile != null)
                {
                    switch (tile.Type)
                    {
                    case TileType.CommunityType:
                        if (tile.CommunityTypes != null)
                        {
                            idType = tile.CommunityTypes.FirstOrDefault();
                            idTile = -1;
                        }
                        break;

                    case TileType.CommunityTag:
                    case TileType.CombinedTags:
                        if (tile.Tags != null && tile.Tags.Any(t => t.Tag != null) && tile.Tags.Any(t => t.Deleted == BaseStatusDeleted.None))
                        {
                            idTags.AddRange(tile.Tags.Where(t => t.Tag != null && t.Deleted == BaseStatusDeleted.None).Select(t => t.Tag.Id).ToList());
                        }
                        break;
                    }
                }
            }
            View.TagsToLoad = idTags;
            Int32 idUserLanguage    = ((UserContext != null && UserContext.Language != null) ? UserContext.Language.Id : -2);
            Int32 idDefaultLanguage = CurrentManager.GetDefaultIdLanguage();

            List <lm.Comol.Core.DomainModel.Filters.Filter> fToLoad = ServiceCommunities.GetDefaultFilters(UserContext.CurrentUserID, searchText, idType, idTile, idTags, null, CommunityManagement.CommunityAvailability.Subscribed, -1).OrderBy(f => f.DisplayOrder).ToList();

            View.LoadDefaultFilters(fToLoad);
            if (fToLoad != null && fToLoad.Any())
            {
                lm.Comol.Core.BaseModules.CommunityManagement.dtoCommunitiesFilters filters = new lm.Comol.Core.BaseModules.CommunityManagement.dtoCommunitiesFilters(fToLoad, CommunityManagement.CommunityAvailability.Subscribed, idType, idTile);
                filters.IdcommunityType = idType;
                if (!String.IsNullOrEmpty(searchText))
                {
                    filters.SearchBy = CommunityManagement.SearchCommunitiesBy.Contains;
                }

                if (filters.IdcommunityType > -1)
                {
                    tile = Service.GetTileForCommunityType(filters.IdcommunityType);
                }
                else if (idTags.Any() && idTile > 0)
                {
                    filters.IdTags = idTags;
                }
                View.InitializeCommunitiesList(settings.Pages.Where(p => p.Type == DashboardViewType.Search).FirstOrDefault(), filters, items, tile, idUserLanguage, idDefaultLanguage);
            }
            else
            {
                if (idType > -1)
                {
                    tile = Service.GetTileForCommunityType(idType);
                }
                View.InitializeCommunitiesList(settings.Pages.Where(p => p.Type == DashboardViewType.Search).FirstOrDefault(), items, tile, idUserLanguage, idDefaultLanguage);
            }

            View.SendUserAction(0, CurrentIdModule, settings.Id, (search == DisplaySearchItems.Advanced) ? ModuleDashboard.ActionType.SearchAdvancedDashboardLoad : ModuleDashboard.ActionType.SearchSimpleDashboardLoad);
        }
コード例 #26
0
 private void InitalizeTopBar(liteDashboardSettings settings, UserCurrentSettings userSettings)
 {
     View.InitializeSearch(settings.Container.Default.Search);
     LoadViews(settings, userSettings);
 }
コード例 #27
0
        private UserCurrentSettings GetUserSettings(DashboardViewType view, liteDashboardSettings settings)
        {
            UserCurrentSettings userSettings = View.GetCurrentCookie();

            if (userSettings == null)
            {
                userSettings                     = new UserCurrentSettings();
                userSettings.GroupBy             = settings.Container.Default.GroupBy;
                userSettings.AfterUserLogon      = settings.Container.Default.AfterUserLogon;
                userSettings.DefaultNoticeboard  = settings.Container.Default.DefaultNoticeboard;
                userSettings.CombinedNoticeboard = settings.Container.Default.CombinedNoticeboard;
                userSettings.TileNoticeboard     = settings.Container.Default.TileNoticeboard;
                userSettings.ListNoticeboard     = settings.Container.Default.ListNoticeboard;
                userSettings.OrderBy             = settings.Container.Default.OrderBy;
                userSettings.View                = settings.Container.Default.View;
                userSettings.Ascending           = (userSettings.OrderBy == OrderItemsBy.Name) ? true : false;
                userSettings.IdSelectedTile      = View.PreloadIdTile;
                View.SaveCurrentCookie(userSettings);
            }
            if (View.LoadFromUrl)
            {
                switch (view)
                {
                case DashboardViewType.List:
                    userSettings.GroupBy = View.PreloadSettingsBase.GroupBy;     //GroupItemsBy.None;
                    userSettings.OrderBy = View.PreloadSettingsBase.OrderBy;

                    break;

                case DashboardViewType.Combined:
                    userSettings.GroupBy = View.PreloadSettingsBase.GroupBy;
                    if (userSettings.GroupBy == GroupItemsBy.None)
                    {
                        userSettings.GroupBy = settings.Container.Default.GroupBy;
                    }
                    switch (userSettings.GroupBy)
                    {
                    case GroupItemsBy.CommunityType:
                        userSettings.IdSelectedTile = View.PreloadIdTile;
                        userSettings.IdSelectedTag  = -1;
                        break;

                    case GroupItemsBy.Tag:
                        userSettings.IdSelectedTile = -1;
                        userSettings.IdSelectedTag  = View.PreloadIdTag;
                        break;

                    case GroupItemsBy.Tile:
                        userSettings.IdSelectedTile = View.PreloadIdTile;
                        userSettings.IdSelectedTag  = -1;
                        break;
                    }
                    break;

                case DashboardViewType.Tile:
                    userSettings.GroupBy = View.PreloadSettingsBase.GroupBy;
                    if (userSettings.GroupBy == GroupItemsBy.None)
                    {
                        userSettings.GroupBy = (View.PreloadSettingsBase.GroupBy == GroupItemsBy.None) ? settings.Container.Default.GroupBy : View.PreloadSettingsBase.GroupBy;
                    }
                    break;
                }
                userSettings.Ascending = (userSettings.OrderBy == OrderItemsBy.Name) ? true : false;
                View.SaveCurrentCookie(userSettings);
            }
            return(userSettings);
        }
コード例 #28
0
        private void LoadGroupBy(DashboardViewType sView, liteDashboardSettings settings, UserCurrentSettings userSettings)
        {
            switch (sView)
            {
            case DashboardViewType.List:
                View.SelectedGroupBy = userSettings.GroupBy;
                break;

            default:
                List <dtoItemFilter <GroupItemsBy> > items = settings.Container.AvailableGroupBy.Select(v => new dtoItemFilter <GroupItemsBy>()
                {
                    Value = v, Selected = (v == userSettings.GroupBy)
                }).ToList();
                if (items.Any() && !items.Where(i => i.Selected).Any())
                {
                    if (items.Where(i => i.Value != GroupItemsBy.None).Any())
                    {
                        items.Where(i => i.Value != GroupItemsBy.None).FirstOrDefault().Selected = true;
                    }
                    else
                    {
                        items.FirstOrDefault().Selected = true;
                    }
                }

                if (items.Count > 1)
                {
                    items.FirstOrDefault().DisplayAs = ItemDisplayOrder.first;
                    items.LastOrDefault().DisplayAs  = ItemDisplayOrder.last;
                }
                else if (items.Any())
                {
                    items[0].DisplayAs = ItemDisplayOrder.first | ItemDisplayOrder.last;
                }
                foreach (dtoItemFilter <GroupItemsBy> item in items)
                {
                    item.Url = RootObject.LoadPortalView(UserContext.CurrentUserID, sView, (sView == DashboardViewType.List) ? GroupItemsBy.None : item.Value, userSettings.OrderBy, userSettings.GetNoticeboard(sView));
                }
                View.InitializeGroupBySelector(items, (items.Where(i => i.Selected).Any()? items.Where(i => i.Selected).Select(i => i.Value).FirstOrDefault() : GroupItemsBy.None));
                break;
            }
        }