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 ChangeType(TileType type) { if (UserContext.isAnonymous) { View.DisplaySessionTimeout(); } else { View.CurrentType = type; switch (type) { case TileType.CombinedTags: Language dLanguage = CurrentManager.GetDefaultLanguage(); List <lm.Comol.Core.Tag.Domain.liteTagItem> items = ServiceTags.CacheGetTags(Tag.Domain.TagType.Community, true).Where(t => t.Status == lm.Comol.Core.Dashboard.Domain.AvailableStatus.Available).ToList(); List <lm.Comol.Core.DomainModel.TranslatedItem <long> > tags = items.Select(t => new lm.Comol.Core.DomainModel.TranslatedItem <long>() { Id = t.Id, Translation = t.GetTitle(UserContext.Language.Id, dLanguage.Id) }).ToList(); View.ReloadTags(tags); break; default: break; } //View.ReloadType(type); } }
public void BulkInsert(dtoFilters filters, Int32 idCommunity, Int32 pageIndex, Int32 pageSize, List <Dictionary <Int32, String> > toInsert) { if (UserContext.isAnonymous) { View.DisplaySessionTimeout(); } else { ModuleTags.ActionType action = ModuleTags.ActionType.GenericError; List <Dictionary <Int32, String> > notInserted = new List <Dictionary <int, string> >(); List <TagItem> tags = ServiceTags.BulkInsert(TagType.Community, (idCommunity == 0), idCommunity, toInsert, notInserted); if (tags.Any()) { if (notInserted.Any()) { action = (filters.ForOrganization) ? ModuleTags.ActionType.AddedBulkTagsToOrganizationWithDuplicates : ModuleTags.ActionType.AddedBulkTagsToPortalWithDuplicates; View.DisplayMessage(action, notInserted.Select(i => i[0]).ToList()); } else { action = (filters.ForOrganization) ? ModuleTags.ActionType.AddedBulkTagsToOrganization : ModuleTags.ActionType.AddedBulkTagsToPortal; View.DisplayMessage(action); } } else { action = (filters.ForOrganization) ? ModuleTags.ActionType.UnableToAddBulkTagsToOrganization : ModuleTags.ActionType.UnableToAddBulkTagsToPortal; View.DisplayMessage(action); } View.SendUserAction((filters.ForOrganization) ? idCommunity : 0, CurrentIdModule, action); LoadTags(filters, idCommunity, 0, pageSize); } }
private void SetTagsInfo(dtoFilters filters, Int32 idCommunity) { Int32 idOrganization = 0; Person p = CurrentManager.GetPerson(UserContext.CurrentUserID); lm.Comol.Core.DomainModel.Domain.ModuleCommunityManagement permissions = null; if (filters.ForOrganization) { 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 == null) ? (Int32)UserTypeStandard.Guest : p.TypeID); } Int32 noTags = ServiceTags.GetCommunitiesWithNoTags(); String url = ""; if (permissions.Administration || permissions.Manage) { url = RootObject.BulkTagsAssignment(idOrganization, !filters.ForOrganization, true); } View.LoadTagsInfo(noTags, ServiceTags.GetUntranslatedTagsCount(filters.IdSelectedLanguage, false), 0, url); }
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(); } } }
public Boolean SaveItem(long idItem, String description, String name, String url, DisplayMode?mode, Boolean isVisible, Boolean allowUpload, List <String> tags) { Boolean executed = false; if (SessionTimeout()) { View.DisplaySessionTimeout(); } else { ModuleRepository.ObjectType oType = ModuleRepository.ObjectType.File; ModuleRepository.ActionType uAction = ModuleRepository.ActionType.GenericError; Int32 idCommunity = UserContext.CurrentCommunityID; liteRepositoryItem item = Service.ItemGet(idItem); if (item == null) { View.DisplayUnknownItem(ItemAction.edit); uAction = ModuleRepository.ActionType.UnknownItemFound; } else { idCommunity = item.Repository.IdCommunity; Int32 idCurrentUser = UserContext.CurrentUserID; oType = ModuleRepository.GetObjectType(item.Type); ItemSaving saving = Service.ItemSetBaseSettings(idItem, description, name, url, mode, isVisible, allowUpload, tags); if (saving == ItemSaving.None) { View.DisplayUnavailableItem(ItemAction.edit); uAction = ModuleRepository.ActionType.UnavailableItem; } else { executed = (saving == ItemSaving.Saved); View.DisplayUpdateMessage(saving); switch (saving) { case ItemSaving.Saved: uAction = ModuleRepository.ActionType.ItemSavedDetails; View.UpdateDefaultTags(ServiceTags.GetAvailableTags(idCurrentUser, idCommunity, Service.GetIdModule(), ModuleRepository.UniqueCode)); break; case ItemSaving.None: uAction = ModuleRepository.ActionType.ItemTryToSaveDetails; break; default: uAction = ModuleRepository.ActionType.ItemSavedSomeDetails; break; } } } View.SendUserAction(idCommunity, Service.GetIdModule(), uAction, idItem, oType); } return(executed); }
public void ReloadTags(Int32 idCommunity, Int32 idOrganization, Int32 idCommunityType, List <long> selectedTags) { View.IdOrganizations = new List <int>() { idOrganization }; View.LoadTags(ServiceTags.GetTags(TagType.Community, idCommunity, new List <int>() { idOrganization }, idCommunityType, selectedTags)); }
public void ApplyTags(List <Int32> idCommunities, List <long> selectedTags) { if (UserContext.isAnonymous) { View.DisplaySessionTimeout(); } else { ServiceTags.ApplyTagsToCommunities(idCommunities, selectedTags); } }
public void InitView(Boolean forOrganization, Boolean fromRecycleBin) { Person p = CurrentManager.GetPerson(UserContext.CurrentUserID); if (UserContext.isAnonymous || p == null) { View.DisplaySessionTimeout(); } else { ModuleTags permissions = null; Int32 idCommunity = 0; if (forOrganization) { idCommunity = UserContext.CurrentCommunityID; //if (idCommunity > 0) // idOrganization = CurrentManager.GetIdOrganizationFromCommunity(UserContext.CurrentCommunityID); //else // idOrganization = CurrentManager.GetUserDefaultIdOrganization(UserContext.CurrentUserID); permissions = ServiceTags.GetPermission(idCommunity); } else { permissions = ModuleTags.CreatePortalmodule(p.TypeID); } View.IdTagsCommunity = idCommunity; if (permissions.Administration || permissions.Edit || permissions.List) { View.AllowAdd((permissions.Administration || permissions.Add)); View.AllowMultiple((p.TypeID == (Int32)UserTypeStandard.Administrator || p.TypeID == (Int32)UserTypeStandard.Administrative || p.TypeID == (Int32)UserTypeStandard.SysAdmin) && (permissions.Administration || permissions.Add)); if (permissions.DeleteMy || permissions.DeleteOther || permissions.Administration) { if (fromRecycleBin) { View.SetBackUrl(RootObject.List(false, forOrganization)); } else { View.SetRecycleUrl(RootObject.List(true, forOrganization)); } } View.InitializeListControl(permissions, idCommunity, fromRecycleBin, forOrganization); } else { View.DisplayNoPermission(idCommunity, CurrentIdModule); } } }
private void InitializeView(Int32 idCommunity, List <Int32> idOrganizations, Int32 idCommunityType = -1) { Person p = CurrentManager.GetPerson(UserContext.CurrentUserID); if (UserContext.isAnonymous || p == null) { View.DisplaySessionTimeout(); } else { View.IdCommunityToApply = idCommunity; View.IdOrganizations = idOrganizations; View.LoadTags(ServiceTags.GetTags(TagType.Community, idCommunity, idOrganizations, idCommunityType)); } }
public void InitView(liteCommunityInfo community) { View.LoadUserInfo(Service.GetResponsible(community.Id), (community.IdCreatedBy > 0) ? CurrentManager.GetLitePerson(community.IdCreatedBy) : null); Int32 idLanguage = UserContext.Language.Id; Language l = CurrentManager.GetDefaultLanguage(); List <String> tags = ServiceTags.GetCommunityAssociationToString(community.Id, idLanguage, l.Id, true); if (tags != null && tags.Any()) { View.LoadTags(tags, community.IdTypeOfCommunity); } List <dtoEnrollmentsDetailInfo> items = Service.GetEnrollmentsInfo(community.Id, community.IdTypeOfCommunity, UserContext.Language.Id); View.LoadEnrollmentsInfo(community, items, items.Select(i => i.Count).Sum(), Service.GetWaitingEnrollments(community.Id)); View.LoadConstraints(Service.GetDtoCommunityConstraints(community.Id, UserContext.CurrentUserID)); View.LoadDetails(community, Service.GetTranslatedCommunityType(idLanguage, community.IdTypeOfCommunity), Service.GetDescription(community.Id)); }
public void VirtualDelete(long idTag, Boolean delete, dtoFilters filters, Int32 idCommunity, Int32 pageIndex, Int32 pageSize) { if (UserContext.isAnonymous) { View.DisplaySessionTimeout(); } else { ModuleTags.ActionType action = (delete) ? ModuleTags.ActionType.VirtualDelete : ModuleTags.ActionType.VirtualUndelete; TagItem item = ServiceTags.VirtualDelete(idTag, delete); if (item == null) { action = (delete) ? ModuleTags.ActionType.UnableToDelete : ModuleTags.ActionType.UnableToUndelete; } View.DisplayMessage(action); View.SendUserAction((filters.ForOrganization) ? idCommunity : 0, CurrentIdModule, idTag, action); LoadTags(filters, idCommunity, 0, pageSize); } }
public void SetStatus(long idTag, lm.Comol.Core.Dashboard.Domain.AvailableStatus status, dtoFilters filters, Int32 idCommunity, Int32 pageIndex, Int32 pageSize) { if (UserContext.isAnonymous) { View.DisplaySessionTimeout(); } else { ModuleTags.ActionType action = (status == lm.Comol.Core.Dashboard.Domain.AvailableStatus.Available) ? ModuleTags.ActionType.EnableTag : ModuleTags.ActionType.DisableTag; TagItem item = ServiceTags.SetStatus(idTag, status); if (item == null || item.Status != status) { action = (status == lm.Comol.Core.Dashboard.Domain.AvailableStatus.Available) ? ModuleTags.ActionType.UnableToEnableTag : ModuleTags.ActionType.UnableToDisableTag; } View.DisplayMessage(action); View.SendUserAction((filters.ForOrganization) ? idCommunity : 0, CurrentIdModule, idTag, action); LoadTags(filters, idCommunity, 0, pageSize); } }
private List <lm.Comol.Core.BaseModules.Dashboard.Domain.dtoCommunityForTags> GenerateItems(lm.Comol.Core.BaseModules.CommunityManagement.dtoCommunitiesFilters filters, List <lm.Comol.Core.BaseModules.Dashboard.Domain.dtoCommunityForTags> items, Boolean hasMultiPage) { List <Int32> idOrganizations = (filters.IdOrganization > 0) ? new List <Int32>() { filters.IdOrganization } : new List <Int32>(); List <dtoTagSelectItem> defaultTags = ServiceTags.GetTags(TagType.Community, 0, idOrganizations); View.LoadDefaultTags(defaultTags, hasMultiPage); foreach (lm.Comol.Core.BaseModules.Dashboard.Domain.dtoCommunityForTags item in items.Where(i => i.IdOrganization == filters.IdOrganization)) { item.AvailableTags = defaultTags.Select(d => d.Copy(item.IdTags.Contains(d.Id))).ToList(); } foreach (lm.Comol.Core.BaseModules.Dashboard.Domain.dtoCommunityForTags item in items.Where(i => !i.AvailableTags.Any())) { item.AvailableTags = ServiceTags.GetTags(TagType.Community, item.Id, new List <Int32>() { item.IdOrganization }, -1, item.IdTags); } return(items); }
public void ApplyTags(List <dtoBulkCommunityForTags> items, 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; if (items.Any()) { List <dtoBulkCommunityForTags> cTags = View.CurrentAssignedTags; if (ServiceTags.ApplyTagsToCommunities(items)) { action = ModuleTags.ActionType.BulkTagsAssigned; pageIndex = (filters.WithoutTags) ? ((pageIndex > 0) ? pageIndex - 1 : pageIndex) : pageIndex; foreach (dtoBulkCommunityForTags item in items) { dtoBulkCommunityForTags current = cTags.Where(c => c.IdCommunity == item.IdCommunity).FirstOrDefault(); if (current != null) { current.IdSelectedTags = item.IdSelectedTags; } } View.CurrentAssignedTags = cTags; filters = RecalcDefaultFilters(filters); View.CurrentFilters = filters; LoadCommunities(idCommunity, filters, pageIndex, pageSize, ModuleTags.ActionType.BulkTagsUpdateListAferTagsAssignment); } } else { action = ModuleTags.ActionType.BulkTagsNoSelection; } View.DisplayMessage(action); View.SendUserAction(idCommunity, CurrentIdModule, action); } }
public void LoadTags(dtoFilters filters, Int32 idCommunity, Int32 pageIndex, Int32 pageSize) { if (UserContext.isAnonymous) { View.DisplaySessionTimeout(); } else { SetTagsInfo(filters, idCommunity); List <dtoTagItem> items = ServiceTags.GetTags(UserContext.CurrentUserID, TagType.Community, filters, idCommunity, View.GetUnknownUserName()); if (items == null) { View.DisplayErrorLoadingFromDB(); } 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; String dCode = View.GetDefaultLanguageCode(); String dLanguage = View.GetDefaultLanguageName(); items = items.Skip(pager.PageIndex * pageSize).Take(pageSize).ToList(); View.AllowApplyFilters(!(View.FirstLoad && !items.Any())); items.ForEach(i => i.Translations.Insert(0, new lm.Comol.Core.DomainModel.Languages.dtoLanguageItem() { IdLanguage = -1, IsMultiLanguage = true, LanguageCode = dCode, LanguageName = dLanguage })); View.LoadTags(items, filters.IdSelectedLanguage); View.SendUserAction((filters.ForOrganization) ? idCommunity : 0, CurrentIdModule, (filters.IdOrganization > -3) ? ModuleTags.ActionType.OrganizationListTags : ModuleTags.ActionType.PortalListTags); View.FirstLoad = false; View.FirstLoadForLanguages[filters.IdSelectedLanguage] = false; } } }
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); } }
public void ReloadTags(Int32 idCommunity, List <Int32> idOrganizations, Int32 idCommunityType, List <long> selectedTags) { View.LoadTags(ServiceTags.GetTags(TagType.Community, idCommunity, idOrganizations, idCommunityType, selectedTags)); }
public void InitView(long idTile, DashboardType dashboardType, Int32 idContainerCommunity) { Person p = CurrentManager.GetPerson(UserContext.CurrentUserID); if (UserContext.isAnonymous || p == null) { View.DisplaySessionTimeout(); } else { Int32 idTileCommunity = (dashboardType == DashboardType.Community) ? idContainerCommunity : 0; ModuleDashboard permissions = ModuleDashboard.CreatePortalmodule(p.TypeID); dtoEditTile tile = Service.GetEditTile(idTile); idTileCommunity = (tile == null) ? ((dashboardType == DashboardType.Community) ? idContainerCommunity : 0) : tile.IdCommunity; if (dashboardType == DashboardType.Community) { View.IdContainerCommunity = idContainerCommunity; if (idTileCommunity < 0) { idTileCommunity = UserContext.CurrentCommunityID; } if (idTileCommunity > 0 && (!permissions.Administration && !permissions.ManageTiles)) { permissions = Service.GetPermission(idTileCommunity); } } else { idContainerCommunity = 0; View.IdContainerCommunity = 0; } if ((tile == null && (idTile > 0)) || (tile != null && tile.Deleted != BaseStatusDeleted.None && tile.Deleted != BaseStatusDeleted.Manual)) { View.DisplayUnknownTile(); } if (permissions.ManageTiles) { View.SendUserAction(idContainerCommunity, Service.ServiceModuleID(), ModuleDashboard.ActionType.TileView); View.SetBackUrl(RootObject.TileList(dashboardType, false, idContainerCommunity, idTile, View.PreloadIdDashboard, View.PreloadStep)); List <lm.Comol.Core.DomainModel.Languages.dtoLanguageItem> languages = CurrentManager.GetAllLanguages().OrderByDescending(l => l.isDefault).ThenBy(l => l.Name).Select(l => new lm.Comol.Core.DomainModel.Languages.dtoLanguageItem() { IdLanguage = l.Id, LanguageCode = l.Code, LanguageName = l.Name }).ToList(); languages.Insert(0, new lm.Comol.Core.DomainModel.Languages.dtoLanguageItem() { IdLanguage = 0, LanguageCode = View.GetDefaultLanguageCode(), LanguageName = View.GetDefaultLanguageName(), IsMultiLanguage = true }); switch (tile.Type) { case TileType.CommunityTag: View.LoadTile(tile, ServiceTags.GetTagTranslation(tile.IdTags.FirstOrDefault(), UserContext.Language.Id).Title, languages, languages.Select(l => new dtoTileFullTranslation(l, tile)).ToList()); break; case TileType.CombinedTags: Language dLanguage = CurrentManager.GetDefaultLanguage(); List <lm.Comol.Core.Tag.Domain.liteTagItem> items = ServiceTags.CacheGetTags(Tag.Domain.TagType.Community, true).Where(t => t.Status == lm.Comol.Core.Dashboard.Domain.AvailableStatus.Available || tile.IdTags.Contains(t.Id)).ToList(); List <lm.Comol.Core.DomainModel.TranslatedItem <long> > tags = items.Select(t => new lm.Comol.Core.DomainModel.TranslatedItem <long>() { Id = t.Id, Translation = t.GetTitle(UserContext.Language.Id, dLanguage.Id) }).ToList(); View.LoadTile(tile, tags, languages, languages.Select(l => new dtoTileFullTranslation(l, tile)).ToList()); break; case TileType.CommunityType: View.LoadTile(tile, Service.GetCommunityTypeName(tile.IdCommunityTypes.FirstOrDefault(), UserContext.Language.Id), languages, languages.Select(l => new dtoTileFullTranslation(l, tile)).ToList()); break; default: View.LoadTile(tile, languages, languages.Select(l => new dtoTileFullTranslation(l, tile)).ToList()); break; } View.SendUserAction(idContainerCommunity, Service.ServiceModuleID(), ModuleDashboard.ActionType.TileView); } else { View.DisplayNoPermission(idContainerCommunity, CurrentIdModule); } } }
private void LoadCommunities(litePageSettings pageSettings, lm.Comol.Core.BaseModules.CommunityManagement.dtoCommunitiesFilters filters, OrderItemsBy orderBy, Boolean ascending, Boolean useCache, Int32 pageIndex = 0, Int32 pageSize = 0, ModuleDashboard.ActionType action = ModuleDashboard.ActionType.SearchDashboardApplyFilters) { if (UserContext.isAnonymous) { View.DisplaySessionTimeout(); } else { List <dtoSubscriptionItem> items = Service.GetCommunities(UserContext.CurrentUserID, filters, useCache); if (items == null) { View.DisplayErrorFromDB(); } else { Int32 itemsCount = items.Count(); if (pageSettings != null) { View.DefaultPageSize = pageSettings.MaxItems; InitializeColumns(filters); pageSize = InitializeSearchPageSize(pageSettings, itemsCount); View.CurrentPageSize = pageSize; } if (pageSize == 0) { pageSize = View.CurrentPageSize; } PagerBase pager = new PagerBase(); pager.PageSize = pageSize; pager.Count = (itemsCount > 0) ? itemsCount - 1 : 0; pager.PageIndex = pageIndex; View.Pager = pager; items = Service.GetCommunities(UserContext.Language.Id, items, pageIndex, pageSize, orderBy, ascending); 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); } 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]; } } View.LoadItems(items, orderBy, ascending); //View.SendUserAction(0, CurrentIdModule, action); } else { View.LoadItems(new List <dtoSubscriptionItem>(), orderBy, ascending); } } } }
public void InitView(Boolean add, long idTile, DashboardType dashboardType, Int32 idContainerCommunity) { Person p = CurrentManager.GetPerson(UserContext.CurrentUserID); if (UserContext.isAnonymous || p == null) { View.DisplaySessionTimeout(); } else { Int32 idTileCommunity = (dashboardType == DashboardType.Community) ? idContainerCommunity : 0; ModuleDashboard permissions = ModuleDashboard.CreatePortalmodule(p.TypeID); List <TileType> availableTypes = null; dtoEditTile tile = null; View.IdTile = idTile; if (add) { availableTypes = Service.GetTileTypesAvailable(dashboardType); tile = new dtoEditTile(); tile.Status = AvailableStatus.Draft; tile.Type = availableTypes.FirstOrDefault(); } else { if (View.PreloadFromAdd) { View.DisplayTileAdded(); } tile = Service.GetEditTile(idTile); idTileCommunity = (tile == null) ? ((dashboardType == DashboardType.Community) ? idContainerCommunity : 0) : tile.IdCommunity; } View.IdTileCommunity = idTileCommunity; if (dashboardType == DashboardType.Community) { View.IdContainerCommunity = idContainerCommunity; if (idTileCommunity < 0) { idTileCommunity = UserContext.CurrentCommunityID; } if (idTileCommunity > 0 && (!permissions.Administration && !permissions.ManageTiles)) { permissions = Service.GetPermission(idTileCommunity); } } else { idContainerCommunity = 0; View.IdContainerCommunity = 0; } if ((tile == null && (idTile > 0 || !add)) || (tile != null && tile.Deleted != BaseStatusDeleted.None && tile.Deleted != BaseStatusDeleted.Manual)) { View.DisplayUnknownTile(); if (!permissions.ManageTiles) { View.DisplayNoPermission(idContainerCommunity, CurrentIdModule); } else { View.SetBackUrl(RootObject.TileList(dashboardType, false, idContainerCommunity, idTile, View.PreloadIdDashboard, View.PreloadStep)); } } else { if (permissions.ManageTiles) { if (tile != null && tile.Id > 0) { View.AllowVirtualUndelete = (tile.Deleted == BaseStatusDeleted.Manual); View.AllowVirtualDelete = (tile.Deleted == BaseStatusDeleted.None); View.AllowDisable = (tile.Deleted == BaseStatusDeleted.None && tile.Status == AvailableStatus.Available); View.AllowEnable = (tile.Deleted == BaseStatusDeleted.None && tile.Status != AvailableStatus.Available); View.SendUserAction(idContainerCommunity, Service.ServiceModuleID(), tile.Id, ModuleDashboard.ActionType.TileStartEditing); } else { View.SendUserAction(idContainerCommunity, Service.ServiceModuleID(), ModuleDashboard.ActionType.TileStartAdding); } View.AllowSave = (tile.Deleted == BaseStatusDeleted.None); View.SetBackUrl(RootObject.TileList(dashboardType, false, idContainerCommunity, idTile, View.PreloadIdDashboard, View.PreloadStep)); switch (tile.Type) { case TileType.CommunityTag: View.InitalizeEditor(tile, idTile, idContainerCommunity, idTileCommunity, ServiceTags.GetTagTranslation(tile.IdTags.FirstOrDefault(), UserContext.Language.Id).Title); break; case TileType.CombinedTags: Language dLanguage = CurrentManager.GetDefaultLanguage(); List <lm.Comol.Core.Tag.Domain.liteTagItem> items = ServiceTags.CacheGetTags(Tag.Domain.TagType.Community, true).Where(t => t.Status == lm.Comol.Core.Dashboard.Domain.AvailableStatus.Available || tile.IdTags.Contains(t.Id)).ToList(); List <lm.Comol.Core.DomainModel.TranslatedItem <long> > tags = items.Select(t => new lm.Comol.Core.DomainModel.TranslatedItem <long>() { Id = t.Id, Translation = t.GetTitle(UserContext.Language.Id, dLanguage.Id) }).ToList(); View.InitalizeEditor(tile, idTile, idContainerCommunity, idTileCommunity, tags, availableTypes); break; case TileType.CommunityType: View.InitalizeEditor(tile, idTile, idContainerCommunity, idTileCommunity, Service.GetCommunityTypeName(tile.IdCommunityTypes.FirstOrDefault(), UserContext.Language.Id)); break; default: View.InitalizeEditor(tile, idTile, idContainerCommunity, idTileCommunity, availableTypes); break; } } else { View.DisplayNoPermission(idContainerCommunity, CurrentIdModule); } } } }
private void InternalLoadCommunities(Int32 itemsForPage, RangeSettings range, lm.Comol.Core.BaseModules.CommunityManagement.dtoCommunitiesFilters filters, OrderItemsToSubscribeBy orderBy, Boolean ascending, Boolean useCache, Int32 pageIndex, ModuleDashboard.ActionType action = ModuleDashboard.ActionType.EnrollPageApplyFilters, Boolean applyFilters = false) { View.CurrentFilters = filters; List <dtoItemFilter <OrderItemsToSubscribeBy> > orderItems = GetOrderByItems(filters.IdcommunityType, orderBy); View.InitializeOrderBySelector(orderItems); List <dtoEnrollingItem> items = Service.GetCommunitiesToEnroll(UserContext.CurrentUserID, filters, useCache); Int32 itemsCount = (items == null) ? 0 : items.Count; Int32 pageSize = CalculatePageSize(itemsForPage, range, itemsCount); View.CurrentPageSize = pageSize; InitializeColumns(filters, items); if (items == null) { View.DisplayErrorFromDB(); View.CurrentOrderBy = orderBy; View.CurrentAscending = ascending; } else { if (pageSize == 0) { pageSize = View.DefaultPageSize; } PagerBase pager = new PagerBase(); pager.PageSize = pageSize; pager.Count = (itemsCount > 0) ? itemsCount - 1 : 0; pager.PageIndex = pageIndex; View.Pager = pager; List <dtoCommunityToEnroll> cItems = null; if (applyFilters) { cItems = new List <dtoCommunityToEnroll>(); } else { cItems = View.CurrentSelectedItems; List <dtoCommunityToEnroll> sItems = View.GetSelectedItems(); if (sItems.Where(i => !i.Selected).Any()) { cItems = cItems.Where(c => !sItems.Where(s => s.Id == c.Id).Any() || sItems.Where(s => s.Selected && s.Id == c.Id).Any()).ToList(); } if (sItems.Where(i => i.Selected).Any()) { List <Int32> idCommunities = cItems.Select(c => c.Id).ToList(); cItems.AddRange(sItems.Where(s => s.Selected && !idCommunities.Contains(s.Id)).ToList()); } } View.CurrentSelectedItems = cItems; View.KeepOpenBulkActions = (cItems.Count > 0); View.InitializeBulkActions(itemsCount > pageSize, cItems); items = Service.GetCommunities(UserContext.CurrentUserID, items, pageIndex, pageSize, orderBy, ascending); 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 (dtoEnrollingItem item in items.Where(i => tags.ContainsKey(i.Community.Id))) { item.Community.Tags = tags[item.Community.Id]; } } View.LoadItems(items, orderBy, ascending); //View.SendUserAction(0, CurrentIdModule, action); } else { View.LoadItems(new List <dtoEnrollingItem>(), orderBy, ascending); } } }
public void InitView(Boolean isEditPage, long idItem, long idFolder, String path, Boolean setBackUrl, String backUrl) { RepositoryIdentifier rIdentifier = Service.ItemGetRepositoryIdentifier(idItem); Int32 idCommunity = UserContext.CurrentCommunityID; View.IdItem = idItem; View.IdCurrentFolder = idFolder; View.CurrentFolderIdentifierPath = path; if (setBackUrl && String.IsNullOrEmpty(backUrl)) { backUrl = View.GetPreviousRelativeUrl(); if (!IsValidPreviousUrl(backUrl)) { backUrl = ""; setBackUrl = false; } if (backUrl.StartsWith(RootObject.BaseRepositoryUrl(), StringComparison.InvariantCultureIgnoreCase) && rIdentifier != null) { cookieRepository cookie = View.GetRepositoryCookie(rIdentifier); if (cookie != null) { backUrl = RootObject.RepositoryItems(rIdentifier.Type, rIdentifier.IdCommunity, 0, cookie.IdFolder, cookie.Type, cookie.ItemsOrderBy, cookie.Ascending, cookie.IdentifierPath); } } SetLogoutUrl(isEditPage, View.GetCurrentUrl(), setBackUrl, backUrl); } else { View.DefaultLogoutUrl = View.GetCurrentUrl(); } View.BackUrl = (setBackUrl ? backUrl : ""); View.SetPageBackUrl(backUrl); View.PageIdentifier = Guid.NewGuid(); if (SessionTimeout()) { return; } View.IsInitialized = true; ModuleRepository.ActionType uAction = ModuleRepository.ActionType.None; if (rIdentifier == null) { View.InitializeHeader(); uAction = (isEditPage) ? ModuleRepository.ActionType.EditDetailsTryToLoad : ModuleRepository.ActionType.ViewDetailsTryToLoad; View.DisplayUnknownItem(); } else { Int32 idCurrentUser = UserContext.CurrentUserID; liteRepositorySettings settings = Service.SettingsGetByRepositoryIdentifier(rIdentifier); ModuleRepository module = Service.GetPermissions(rIdentifier, idCurrentUser); View.RepositoryIdentifier = CacheKeys.RepositoryIdentifierKey(rIdentifier.Type, rIdentifier.IdCommunity); View.RepositoryIdCommunity = rIdentifier.IdCommunity; idCommunity = rIdentifier.IdCommunity; View.RepositoryType = rIdentifier.Type; View.SetTitle(Service.ItemGetType(idItem)); View.IsInitialized = true; if (settings != null) { Boolean admin = module.ManageItems || module.Administration; dtoDisplayRepositoryItem dto = Service.GetItemWithPermissionsAndStatistics(idItem, Service.GetAvailableRepositoryItems(settings, UserContext.CurrentUserID, rIdentifier.Type, rIdentifier.IdCommunity, View.GetUnknownUserName(), View.GetFolderTypeTranslation(), View.GetTypesTranslations(), module, admin, admin), UserContext.CurrentUserID); if (dto != null) { if (!isEditPage && dto.Permissions.Edit) { View.SetUrlForEdit(RootObject.EditItem(idItem, idFolder, path, ItemAction.edit, (!String.IsNullOrWhiteSpace(backUrl)), backUrl)); } else if (isEditPage) { View.SetUrlForView(RootObject.Details(idItem, idFolder, path, ItemAction.edit, (!String.IsNullOrWhiteSpace(backUrl)), backUrl)); } if (!isEditPage || (isEditPage && dto.Permissions.Edit)) { View.AllowSave = dto.Permissions.Edit && isEditPage; View.AllowHideItem = dto.Permissions.Hide && isEditPage; View.AllowShowItem = dto.Permissions.Show && isEditPage; View.DisplayItemDetails(isEditPage, dto, settings.AutoThumbnailWidth, settings.AutoThumbnailHeight, settings.AutoThumbnailForExtension); if (dto.Permissions.ViewPermission || dto.Permissions.EditPermission) { View.DisplayItemPermissions(isEditPage, dto); } if (isEditPage) { View.InitializeDefaultTags(ServiceTags.GetAvailableTags(rIdentifier.IdPerson, idCommunity, CurrentIdModule, ModuleRepository.UniqueCode)); } else { View.InitializeHeader(); } uAction = (isEditPage) ? ModuleRepository.ActionType.EditDetailsLoaded : ModuleRepository.ActionType.ViewDetailsLoaded; } else if (isEditPage) { View.SendUserAction(idCommunity, Service.GetIdModule(), ModuleRepository.ActionType.EditDetailsTryToLoad); View.GoToUrl(RootObject.Details(idItem, idFolder, path, ItemAction.details, setBackUrl, backUrl)); } } else { if (isEditPage) { View.SetUrlForView(RootObject.Details(idItem, idFolder, path, ItemAction.edit, (!String.IsNullOrWhiteSpace(backUrl)), backUrl)); } View.InitializeHeader(); View.DisplayNoPermission(idCommunity, Service.GetIdModule()); uAction = (isEditPage) ? ModuleRepository.ActionType.EditDetailsNoPermissions : ModuleRepository.ActionType.ViewDetailsNoPermissions; } } else { View.InitializeHeader(); uAction = (isEditPage) ? ModuleRepository.ActionType.EditDetailsTryToLoad : ModuleRepository.ActionType.ViewDetailsTryToLoad; View.DisplayUnknownItem(); } } View.SendUserAction(idCommunity, Service.GetIdModule(), uAction); }
public Boolean CloneInternalItem(long idObjectOwner, Int32 idModule, String moduleCode, long idItem, long idVersion, litePerson person, String baseFilePath, String baseThumbnailPath, RepositoryIdentifier destIdentifier, ref RepositoryItem itemCloned, ref RepositoryItemVersion versionCloned, Boolean onlyLastVersion = true) { Boolean cloned = false; Boolean isInTransaction = Manager.IsInTransaction(); String destFile = ""; String dThumbnail = ""; try { if (!isInTransaction) { Manager.BeginTransaction(); } RepositoryItem item = Manager.Get <RepositoryItem>(idItem); if (item != null) { RepositoryItemVersion version = Manager.Get <RepositoryItemVersion>((idVersion > 0 ? idVersion : item.IdVersion)); if (version != null) { String sourcePath = GetItemDiskPath(baseFilePath, item.Repository); String destinationPath = System.IO.Path.Combine(baseFilePath, item.Repository.IdCommunity.ToString()); itemCloned = CloneItem(person.Id, item, version, destIdentifier, !onlyLastVersion, idObjectOwner); if (!String.IsNullOrWhiteSpace(itemCloned.Thumbnail)) { String stPath = GetItemDiskPath(baseThumbnailPath, item.Repository); String dtPath = GetItemDiskPath(baseThumbnailPath, itemCloned.Repository); if (!lm.Comol.Core.File.Exists.Directory(dtPath)) { lm.Comol.Core.File.Create.Directory(dtPath); } if (!lm.Comol.Core.File.Create.CopyFile(System.IO.Path.Combine(stPath, item.Thumbnail), System.IO.Path.Combine(dtPath, itemCloned.Thumbnail))) { itemCloned.Thumbnail = ""; } } String sourceFile = ""; switch (itemCloned.Type) { case ItemType.Folder: case ItemType.Link: break; default: sourceFile = System.IO.Path.Combine(sourcePath, item.UniqueId.ToString() + item.Extension); destFile = System.IO.Path.Combine(destinationPath, itemCloned.UniqueId.ToString() + itemCloned.Extension); if (!lm.Comol.Core.File.Exists.Directory(destinationPath)) { lm.Comol.Core.File.Create.Directory(destinationPath); } if (!lm.Comol.Core.File.Create.CopyFile(sourceFile, destFile)) { itemCloned = null; destFile = ""; } break; } if (itemCloned != null) { Manager.SaveOrUpdate(itemCloned); List <String> tags = null; if (!String.IsNullOrWhiteSpace(itemCloned.Tags)) { tags = itemCloned.Tags.Split(',').ToList(); } if (tags != null && tags.Any()) { ServiceTags.SaveTags(person, destIdentifier.IdCommunity, idModule, moduleCode, tags); } versionCloned = itemCloned.CreateFirstVersion(); Manager.SaveOrUpdate(versionCloned); itemCloned.IdVersion = versionCloned.Id; Manager.SaveOrUpdate(itemCloned); switch (itemCloned.Type) { case ItemType.VideoStreaming: case ItemType.ScormPackage: case ItemType.Multimedia: FileTransferAdd(item, destinationPath, itemCloned.UniqueId.ToString() + itemCloned.Extension, person, itemCloned.CreatedOn); break; } } } } if (!isInTransaction) { Manager.Commit(); } cloned = true; } catch (Exception ex) { if (!isInTransaction && Manager.IsInTransaction()) { Manager.RollBack(); } cloned = false; itemCloned = null; versionCloned = null; if (!String.IsNullOrWhiteSpace(destFile)) { lm.Comol.Core.File.Delete.File(destFile); } if (!String.IsNullOrWhiteSpace(dThumbnail)) { lm.Comol.Core.File.Delete.File(dThumbnail); } } return(cloned); }
/// <summary> /// Gets a list of DNS-SD tags being broadcast by this device. /// </summary> /// <returns>Array of strings, each one an individual tag.</returns> public async Task <List <string> > GetServiceTagsAsync() { ServiceTags tags = await this.GetAsync <ServiceTags>(TagsApi); return(tags.Tags); }
private void InitializeView(dtoFilters filters, Int32 idCommunity) { View.IdSelectedTagLanguage = -1; List <lm.Comol.Core.Dashboard.Domain.dtoItemFilter <lm.Comol.Core.DomainModel.Languages.dtoLanguageItem> > languages = ServiceTags.GetLanguageSelectorItems(View.GetDefaultLanguageName(), View.GetDefaultLanguageCode()); View.LoadLanguages(languages); View.FirstLoad = true; View.FirstLoadForLanguages = languages.ToDictionary(l => l.Value.IdLanguage, l => true); View.CurrentFilters = filters; LoadTags(filters, idCommunity, 0, View.CurrentPageSize); }