//private List<dtoTreeCommunityNode> RetrieveItems() //{ // //if (filters == null) // // filters = View.GetCurrentFilters; // //litePerson person = CurrentManager.GetLitePerson(View.IdProfile); // //dtoTreeCommunityNode tree = Service.GetAllCommunitiesTree(person); // //List<dtoTreeCommunityNode> nodes = GetAvailableNodes(tree.Filter(filters, 0).GetAllNodes(), View.ExcludeCommunities, View.OnlyFromOrganizations, View.RequiredPermissions); // //// TO CHECK !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! // //nodes = nodes.Where(n => n.Type != dtoCommunityNodeType.NotSelectable && (n.IdOrganization == filters.IdOrganization || (filters.IdOrganization == -1 && !filters.OnlyFromAvailableOrganizations) || (filters.OnlyFromAvailableOrganizations && filters.AvailableIdOrganizations.Contains(n.IdOrganization)))).ToList(); // //return nodes; // return new List<dtoTreeCommunityNode>(); //} public List <dtoCommunityPlainItem> GetSelectedCommunities(List <Int32> idCommunities, List <Int32> unloadIdCommunities, Int32 idProfile) { List <Int32> selectedItems = View.SelectedIdCommunities; Dictionary <Boolean, List <Int32> > selections = View.GetCurrentSelection(); selectedItems = selectedItems.Except(selections[false]).ToList(); selectedItems.AddRange(selections[true]); lm.Comol.Core.BaseModules.CommunityManagement.dtoCommunitiesFilters filters = new dtoCommunitiesFilters(); filters.IdcommunityType = -1; filters.IdOrganization = -1; filters.IdCourseTime = -1; filters.IdDegreeType = -1; filters.Year = -1; filters.RequiredPermissions = View.RequiredPermissions.Select(r => new dtoModulePermission() { IdModule = r.Key, Permissions = r.Value }).ToList(); filters.Availability = View.CurrentAvailability; filters.AvailableIdOrganizations = View.OnlyFromOrganizations; List <dtoCommunityPlainItem> items = ServiceCommunities.GetPlainCommunities(idProfile, filters, unloadIdCommunities, true); return(items.Where(i => selectedItems.Contains(i.Community.Id)).ToList()); }
private void InitializeView(Boolean forAdministration, Int32 idProfile, List <Int32> unloadIdCommunities, CommunityAvailability availability, List <Int32> onlyFromOrganizations, Dictionary <Int32, long> requiredPermissions = null) { View.IdProfile = idProfile; litePerson currentUser = CurrentManager.GetLitePerson(UserContext.CurrentUserID); litePerson person = CurrentManager.GetLitePerson(idProfile); View.OnlyFromOrganizations = onlyFromOrganizations; View.SelectedIdCommunities = new List <int>(); View.CurrentAvailability = availability; View.ExcludeCommunities = unloadIdCommunities; List <lm.Comol.Core.DomainModel.Filters.Filter> fToLoad = ServiceCommunities.GetDefaultFilters(idProfile, "", -1, -1, null, null, availability, -2, unloadIdCommunities, onlyFromOrganizations, requiredPermissions).OrderBy(f => f.DisplayOrder).ToList(); View.LoadDefaultFilters(fToLoad, requiredPermissions, unloadIdCommunities, availability, onlyFromOrganizations); if (fToLoad != null && fToLoad.Any()) { dtoCommunitiesFilters filters = new lm.Comol.Core.BaseModules.CommunityManagement.dtoCommunitiesFilters(fToLoad, availability); filters.AvailableIdOrganizations = onlyFromOrganizations; filters.OnlyFromAvailableOrganizations = (onlyFromOrganizations != null && onlyFromOrganizations.Any()); filters.RequiredPermissions = (requiredPermissions == null)? new List <dtoModulePermission>() : requiredPermissions.Select(r => new dtoModulePermission() { IdModule = r.Key, Permissions = r.Value }).ToList(); LoadCommunities(idProfile, filters, unloadIdCommunities, 0, View.CurrentPageSize, false); View.HasAvailableCommunities = true; } else { View.LoadNothing(); } }
public void LoadCommunities(Int32 idProfile, lm.Comol.Core.BaseModules.CommunityManagement.dtoCommunitiesFilters filters, List <Int32> unloadIdCommunities, Int32 pageIndex, Int32 pageSize, Boolean useCache = true) { if (UserContext.isAnonymous) { View.DisplaySessionTimeout(); } else { List <Int32> selectedItems = View.SelectedIdCommunities; Dictionary <Boolean, List <Int32> > selections = View.GetCurrentSelection(); selectedItems = selectedItems.Except(selections[false]).ToList(); selectedItems.AddRange(selections[true]); View.SelectedIdCommunities = selectedItems.Distinct().ToList(); View.SearchFilters = filters; List <dtoCommunityPlainItem> items = ServiceCommunities.GetPlainCommunities(idProfile, filters, unloadIdCommunities, useCache); if (items == null) { View.LoadNothing(); } else { Int32 itemsCount = items.Count(); PagerBase pager = new PagerBase(); pager.PageSize = pageSize; pager.Count = (itemsCount > 0) ? itemsCount - 1 : 0; pager.PageIndex = pageIndex; View.Pager = pager; items = ServiceCommunities.GetCommunities(items, pageIndex, pageSize, Core.Dashboard.Domain.OrderItemsBy.Name, true); if (items != null) { 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 (dtoCommunityPlainItem item in items.Where(i => tags.ContainsKey(i.Community.Id))) { item.Community.Tags = tags[item.Community.Id]; } } View.LoadItems(items); } else { View.LoadItems(new List <dtoCommunityPlainItem>()); } } } }
private lm.Comol.Core.BaseModules.CommunityManagement.dtoCommunitiesFilters RecalcDefaultFilters(lm.Comol.Core.BaseModules.CommunityManagement.dtoCommunitiesFilters filters) { List <lm.Comol.Core.BaseModules.Dashboard.Domain.dtoCommunityForTags> communities = ServiceCommunities.GetCommunitiesForBulkTagsManage(UserContext.CurrentUserID, filters); if (communities != null && communities.Count == 0) { return(ServiceCommunities.GetDefaultFilters(CurrentManager.GetLitePerson(UserContext.CurrentUserID), CommunityManagement.CommunityAvailability.All, true)); } else { return(filters); } }
public void InitView(Int32 pageSize, Int32 idOrganization = 0, Boolean assigned = false, Boolean fromPortal = true, Boolean fromPage = false, String url = "") { litePerson p = CurrentManager.GetLitePerson(UserContext.CurrentUserID); if (UserContext.isAnonymous || p == null) { View.DisplaySessionTimeout(); } else { Int32 idCommunity = 0; lm.Comol.Core.DomainModel.Domain.ModuleCommunityManagement permissions = null; if (!fromPortal) { if (idOrganization > 0) { idCommunity = CurrentManager.GetIdCommunityFromOrganization(idOrganization); } if (idCommunity == 0) { idCommunity = UserContext.CurrentCommunityID; idOrganization = CurrentManager.GetIdOrganizationFromCommunity(idCommunity); } if (idOrganization == 0) { idOrganization = CurrentManager.GetUserDefaultIdOrganization(UserContext.CurrentUserID); idCommunity = CurrentManager.GetIdCommunityFromOrganization(idOrganization); } permissions = new DomainModel.Domain.ModuleCommunityManagement(CurrentManager.GetModulePermission(UserContext.CurrentUserID, idCommunity, lm.Comol.Core.DomainModel.Domain.ModuleCommunityManagement.UniqueID)); } else { permissions = DomainModel.Domain.ModuleCommunityManagement.CreatePortalmodule(p.TypeID); } View.CurrentIdOrganization = idOrganization; View.CurrentIdCommunity = idCommunity; View.CurrentAssignedTags = new List <dtoBulkCommunityForTags>(); if (!String.IsNullOrEmpty(url) && fromPage) { View.SetBackUrl(url); } if (permissions.Administration || permissions.Manage) { View.AllowSave = true; List <lm.Comol.Core.DomainModel.Filters.Filter> fToLoad = ServiceCommunities.GetDefaultFiltersForAssignments(p.Id, "", -1, null, lm.Comol.Core.BaseModules.CommunityManagement.CommunityAvailability.All, assigned).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.All); View.CurrentFilters = filters; LoadCommunities(idCommunity, filters, 0, pageSize, ModuleTags.ActionType.BulkTagsAssignLoad, true); } else { View.DisplayNoCommunitiesToLoad(); View.SendUserAction(idCommunity, CurrentIdModule, ModuleTags.ActionType.BulkTagsNoCommunitiesFound); } } else { View.SendUserAction(idCommunity, CurrentIdModule, ModuleTags.ActionType.NoPermissionForBulkTagsAssign); } } }
public void ApplyTags(List <Int32> idCommunities, List <long> tags, Boolean applyToAll, lm.Comol.Core.BaseModules.CommunityManagement.dtoCommunitiesFilters filters, Int32 idCommunity, Int32 pageIndex, Int32 pageSize) { if (UserContext.isAnonymous) { View.DisplaySessionTimeout(); } else { ModuleTags.ActionType action = ModuleTags.ActionType.BulkTagsUnasigned; View.CurrentAssignedTags = new List <dtoBulkCommunityForTags>(); pageIndex = (filters.WithoutTags) ? ((pageIndex > 0) ? pageIndex - 1 : pageIndex) : pageIndex; if (applyToAll) { List <lm.Comol.Core.BaseModules.Dashboard.Domain.dtoCommunityForTags> communities = ServiceCommunities.GetCommunitiesForBulkTagsManage(UserContext.CurrentUserID, filters); if (communities != null) { idCommunities = communities.Select(c => c.Id).ToList(); } } if (idCommunities.Any()) { List <dtoBulkCommunityForTags> cTags = View.CurrentAssignedTags; if (ServiceTags.ApplyTagsToCommunities(idCommunities, tags).Count > 0) { action = ModuleTags.ActionType.BulkTagsAssigned; foreach (Int32 id in idCommunities) { dtoBulkCommunityForTags current = cTags.Where(c => c.IdCommunity == id).FirstOrDefault(); if (current != null) { current.IdSelectedTags = tags; } } View.CurrentAssignedTags = cTags; if (applyToAll) { filters = ServiceCommunities.GetDefaultFilters(CurrentManager.GetLitePerson(UserContext.CurrentUserID), CommunityManagement.CommunityAvailability.All, true); } else { filters = RecalcDefaultFilters(filters); } View.CurrentFilters = filters; View.DeselectAll(); LoadCommunities(idCommunity, filters, pageIndex, pageSize, ModuleTags.ActionType.BulkTagsUpdateListAferTagsAssignment); } else { LoadCommunities(idCommunity, pageIndex, pageSize); } } else { action = ModuleTags.ActionType.BulkTagsNoSelection; } View.DisplayMessage(action); View.SendUserAction(idCommunity, CurrentIdModule, ModuleTags.ActionType.NoPermissionForBulkTagsAssign); } }
private void LoadCommunities(Int32 idCommunity, lm.Comol.Core.BaseModules.CommunityManagement.dtoCommunitiesFilters filters, Int32 pageIndex, Int32 pageSize, ModuleTags.ActionType action, Boolean firstLoad = false) { List <lm.Comol.Core.BaseModules.Dashboard.Domain.dtoCommunityForTags> items = ServiceCommunities.GetCommunitiesForBulkTagsManage(UserContext.CurrentUserID, filters); Int32 itemsCount = (items == null ? 0 : items.Count); PagerBase pager = new PagerBase(); pager.PageSize = pageSize; pager.Count = (itemsCount > 0) ? itemsCount - 1 : 0; pager.PageIndex = pageIndex; View.Pager = pager; if (items != null) { if (firstLoad && itemsCount == 0) { View.HideFilters(); } else if (itemsCount == 0 && ServiceTags.GetCommunitiesWithNoTags() == 0) { View.HideFilters(); } View.LoadCommunities(GenerateItems(filters, items.Skip(pager.PageIndex * pageSize).Take(pageSize).ToList(), itemsCount > pageSize)); View.SendUserAction(idCommunity, CurrentIdModule, action); } else { View.DisplayErrorFromDB(); } }
public void InitViewForCommunityToAdd(Int32 idFatherCommunity, Int32 idCommunityType) { InitializeView(0, ServiceCommunities.GetAllAvailableOrganizations(idFatherCommunity), idCommunityType); }
public void InitViewForCommunity(Int32 idCommunity) { InitializeView(idCommunity, ServiceCommunities.GetAllAvailableOrganizations(idCommunity)); }
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); }