Пример #1
0
        /// <summary>
        ///  Get all available tiles for a dashboard
        /// </summary>
        /// <param name="idDashboard"></param>
        /// <param name="useCache"></param>
        /// <returns></returns>
        private List <liteDashboardTileAssignment> CacheGetDashBoardTiles(long idDashboard, Boolean useCache = true)
        {
            List <liteDashboardTileAssignment> tiles = null;

            tiles = (useCache) ? lm.Comol.Core.DomainModel.Helpers.CacheHelper.Find <List <liteDashboardTileAssignment> >(CacheKeys.DashboardTiles(idDashboard)) : null;
            if (tiles == null || !tiles.Any())
            {
                tiles = (from t in Manager.GetIQ <liteDashboardTileAssignment>()
                         where t.Deleted == BaseStatusDeleted.None && t.IdDashboard == idDashboard && t.Status == AvailableStatus.Available
                         select t).ToList().Where(t => t.Tile != null && t.Tile.Status == AvailableStatus.Available).OrderBy(t => t.Tile.Type).ThenBy(t => t.DisplayOrder).ToList();
                Manager.DetachList(tiles);
                if (useCache)
                {
                    CacheHelper.AddToCache <List <liteDashboardTileAssignment> >(CacheKeys.DashboardTiles(idDashboard), tiles, CacheExpiration.Day);
                }
            }
            return(tiles);
        }