Пример #1
0
        public dtoTileItem(liteTile tile, ModuleDashboard permissions, Int32 idLanguage, List <Language> languages, Int32 idCurrentUser, List <Int32> idCommunityTypes)
        {
            Id                = tile.Id;
            Deleted           = tile.Deleted;
            CreatedOn         = tile.CreatedOn;
            ModifiedOn        = tile.ModifiedOn;
            IdCreatedBy       = tile.IdCreatedBy;
            IdModifiedBy      = tile.IdModifiedBy;
            Status            = tile.Status;
            IdDisplayLanguage = idLanguage;
            Translation       = tile.GetTranslation(idLanguage);
            Translations      = tile.Translations.Where(t => t.Deleted == BaseStatusDeleted.None && t.Translation != null && !String.IsNullOrEmpty(t.Translation.Title)).Select(t =>
                                                                                                                                                                                new dtoLanguageItem()
            {
                IdLanguage = t.IdLanguage, LanguageCode = t.LanguageCode, IsDefault = languages.Where(l => l.Id == t.IdLanguage && l.isDefault).Any(), LanguageName = (languages.Where(l => l.Id == t.IdLanguage).Any() ? languages.Where(l => l.Id == t.IdLanguage).Select(l => l.Name).FirstOrDefault() : t.LanguageName)
            }).OrderByDescending(l => l.IsMultiLanguage).ThenByDescending(l => l.IsDefault).ThenBy(l => l.LanguageName).ToList();

            Type = tile.Type;

            Boolean editingEnabled = (tile.Type != TileType.CommunityType || (tile.CommunityTypes != null && !tile.CommunityTypes.Where(i => idCommunityTypes.Contains(i)).Any()));

            Permissions = new dtoPermission();

            Permissions.AllowView           = permissions.List || permissions.Administration || permissions.Edit;
            Permissions.AllowDelete         = editingEnabled && tile.Deleted == BaseStatusDeleted.Manual && (permissions.Administration || permissions.DeleteOther || (permissions.DeleteMy && idCurrentUser == tile.IdCreatedBy));
            Permissions.AllowVirtualDelete  = editingEnabled && tile.Deleted == BaseStatusDeleted.None && (permissions.Administration || permissions.DeleteOther || (permissions.DeleteMy && idCurrentUser == tile.IdCreatedBy));
            Permissions.AllowUnDelete       = editingEnabled && tile.Deleted == BaseStatusDeleted.Manual && (permissions.Administration || permissions.DeleteOther || (permissions.DeleteMy && idCurrentUser == tile.IdCreatedBy));
            Permissions.AllowEdit           = tile.Deleted == BaseStatusDeleted.None && (permissions.Administration || permissions.Edit);
            Permissions.AllowSetAvailable   = tile.Deleted == BaseStatusDeleted.None && tile.Status != lm.Comol.Core.Dashboard.Domain.AvailableStatus.Available && (permissions.Administration || permissions.Edit);
            Permissions.AllowSetUnavailable = tile.Deleted == BaseStatusDeleted.None && tile.Status == lm.Comol.Core.Dashboard.Domain.AvailableStatus.Available && (permissions.Administration || permissions.Edit);
        }
Пример #2
0
 public void ApplyFilters(lm.Comol.Core.BaseModules.CommunityManagement.dtoCommunitiesFilters filters)
 {
     if (UserContext.isAnonymous)
     {
         View.DisplaySessionTimeout();
     }
     else
     {
         liteDashboardSettings settings = Service.DashboardSettingsGet(DashboardType.Portal, 0);
         litePageSettings      page     = (settings != null) ? settings.Pages.Where(p => p.Type == DashboardViewType.Search).FirstOrDefault() : new litePageSettings()
         {
             Type = DashboardViewType.Search, MaxItems = 25, More = DisplayMoreItems.Hide, Noticeboard = DisplayNoticeboard.Hide, PlainLayout = PlainLayout.full
         };
         liteTile tile   = null;
         long     idTile = View.PreloadIdTile;
         if (idTile > 0)
         {
             tile = Service.GetTile(idTile);
         }
         else if (filters.IdcommunityType > -1)
         {
             tile = Service.GetTileForCommunityType(filters.IdcommunityType);
         }
         List <long> tags = View.TagsToLoad;
         if (tags != null && tags.Any() && idTile > 0)
         {
             filters.IdTags = tags;
         }
         View.ApplyFilters(page, filters, tile, ((UserContext != null && UserContext.Language != null) ? UserContext.Language.Id : -2), CurrentManager.GetDefaultIdLanguage());
     }
 }
Пример #3
0
        public liteTile GetTile(long idTile)
        {
            liteTile tile = null;

            try
            {
                tile = Manager.Get <liteTile>(idTile);
            }
            catch (Exception ex)
            {
            }
            return((tile != null && tile.Id != idTile) ? null :tile);
        }
Пример #4
0
        public liteTile GetTileForCommunityType(Int32 idCommunityType)
        {
            liteTile tile = null;

            try {
                tile = (from t in Manager.GetIQ <liteTile>()
                        where t.Deleted == BaseStatusDeleted.None && t.Type == TileType.CommunityType &&
                        t.CommunityTypes != null
                        select t).ToList().Where(t => t.CommunityTypes.Contains(idCommunityType)).Skip(0).Take(1).ToList().FirstOrDefault();
            }
            catch (Exception ex)
            {
            }
            return(tile);
        }
        public void ApplyFilters(Int32 itemsForPage, RangeSettings range, lm.Comol.Core.BaseModules.CommunityManagement.dtoCommunitiesFilters filters, OrderItemsToSubscribeBy orderBy)
        {
            if (UserContext.isAnonymous)
            {
                View.DisplaySessionTimeout();
            }
            else
            {
                InternalLoadCommunities(itemsForPage, range, filters, orderBy, GetDefaultAscending(orderBy), false, 0, ModuleDashboard.ActionType.EnrollPageApplyFilters, true);

                View.CurrentFilters = filters;
                liteTile tile = null;
                if (filters.IdcommunityType > -1)
                {
                    tile = Service.GetTileForCommunityType(filters.IdcommunityType);
                }
            }
        }
        private void SetListTitle(Int32 idCommunityType, Boolean hasItems)
        {
            liteTile tile = null;
            String   name = "";

            if (idCommunityType > -1)
            {
                tile = Service.GetTileForCommunityType(idCommunityType);
                if (tile != null)
                {
                    name = tile.GetTitle(UserContext.Language.Id, CurrentManager.GetDefaultIdLanguage());
                }
            }
            View.SetListTitle(name, tile);
            if (!hasItems)
            {
                View.DisplayNoCommunitiesToEnroll(name);
            }
        }
Пример #7
0
        public dtoEditTile(liteTile tile, List <Language> languages)
        {
            Id               = tile.Id;
            Deleted          = tile.Deleted;
            Status           = tile.Status;
            IdTags           = tile.GetAvailableIdTags();
            AutoNavigateUrl  = tile.AutoNavigateUrl;
            IdCommunityTypes = (tile.CommunityTypes == null) ? new List <Int32>() : tile.CommunityTypes.ToList();
            NavigateUrl      = tile.NavigateUrl;
            ImageUrl         = tile.ImageUrl;
            ImageCssClass    = tile.ImageCssClass;
            IdCommunity      = tile.IdCommunity;
            SubItems         = tile.SubItems.Where(s => s.Deleted == BaseStatusDeleted.None).Select(s => new dtoEditTileItem(s, languages)).ToList();

            Translation  = tile.DefaultTranslation;
            Translations = languages.Select(l => new dtoBaseObjectTranslation()
            {
                IdLanguage   = l.Id,
                LanguageCode = l.Code,
                Translation  = (tile.Translations.Where(t => t.Deleted == BaseStatusDeleted.None && t.IdLanguage == l.Id).Any()) ? tile.Translations.Where(t => t.Deleted == BaseStatusDeleted.None && t.IdLanguage == l.Id).Select(t => t.Translation).FirstOrDefault() : new TitleDescriptionObjectTranslation()
            }
                                            ).ToList();
            Type = tile.Type;
        }
        public void InitView(litePageSettings pageSettings, lm.Comol.Core.BaseModules.CommunityManagement.dtoCommunitiesFilters filters, List <dtoItemFilter <OrderItemsBy> > items, liteTile tile = null)
        {
            if (UserContext.isAnonymous)
            {
                View.DisplaySessionTimeout();
            }
            else
            {
                View.IsForSearch = true;
                View.PageType    = DashboardViewType.Search;

                OrderItemsBy orderBy   = items.Where(i => i.Selected).Select(i => i.Value).FirstOrDefault();
                Boolean      ascending = (orderBy == OrderItemsBy.Name);
                View.CurrentFilters   = filters;
                View.CurrentOrderBy   = orderBy;
                View.CurrentAscending = ascending;

                Int32 idUserLanguage    = ((UserContext != null && UserContext.Language != null) ? UserContext.Language.Id : -2);
                Int32 idDefaultLanguage = CurrentManager.GetDefaultIdLanguage();

                LoadCommunities(pageSettings, filters, orderBy, ascending, false, 0, 0, ModuleDashboard.ActionType.SearchDashboardLoadcommunities);
            }
        }
        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;
            }
        }
Пример #10
0
        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);
        }