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); }
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()); } }
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); }
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); } }
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; } }
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); }