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