//private Dictionary<Int32, ModuleTags> GetPermissions(Person person, Boolean forOrganization) //{ // Dictionary<Int32, ModuleTags> permissions = new Dictionary<Int32, ModuleTags>(); // List<Organization> organizations = ServiceCommunityManagement.GetAvailableOrganizations(person.Id, SearchCommunityFor.Subscribed); // permissions.Add(-3, ModuleTags.CreatePortalmodule(person.TypeID)); // if (organizations != null && organizations.Any()) // { // if (person.TypeID == (int)UserTypeStandard.SysAdmin || person.TypeID == (int)UserTypeStandard.Administrator) // organizations.ForEach(o => permissions.Add(o.Id, permissions[-3])); // else // { // List<Int32> communities = (from c in Manager.GetIQ<liteCommunityInfo>() // where c.IdFather == 0 // && organizations.Where(o => o.Id == c.IdOrganization).Any() // select c.Id).ToList(); // communities.ForEach(c => permissions.Add(c., GetPermission(c))); // } // } // return permissions; //} public TagItem SetStatus(long idTag, lm.Comol.Core.Dashboard.Domain.AvailableStatus status) { TagItem item = null; try { litePerson person = Manager.GetLitePerson(UC.CurrentUserID); if (person != null && person.TypeID != (int)UserTypeStandard.Guest && person.TypeID != (int)UserTypeStandard.PublicUser) { item = Manager.Get <TagItem>(idTag); item.UpdateMetaInfo(person, UC.IpAddress, UC.ProxyIpAddress); Manager.BeginTransaction(); item.Status = status; Manager.Commit(); if (item.Type == TagType.Community) { CacheHelper.PurgeCacheItems(CacheKeys.AllCommunityTags); CacheHelper.PurgeCacheItems(CacheKeys.AllUserCommunitiesTags); } CacheHelper.PurgeCacheItems(CacheKeys.Tags(item.Type)); if (item.MyTile.Status != Dashboard.Domain.AvailableStatus.Available && status != Dashboard.Domain.AvailableStatus.Draft) { ServiceDashboard.TileSetStatus(item.MyTile, status); } } } catch (Exception ex) { Manager.RollBack(); } return(item); }
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); } }