Example #1
0
        /// <summary>
        /// Питания
        /// </summary>
        /// <param name="searchDc"></param>
        /// <param name="pansionKey">Ключ питания</param>
        /// <param name="hash"></param>
        /// <returns></returns>
        public static List <Meal> GetMeals(this MtSearchDbDataContext searchDc, int?pansionKey, out string hash)
        {
            List <Meal> result;

            hash = String.Format("{0}_{1}", MethodBase.GetCurrentMethod().Name, pansionKey);
            if ((result = CacheHelper.GetCacheItem <List <Meal> >(hash)) != null)
            {
                return(result);
            }

            result = new List <Meal>();
            if (pansionKey == null)
            {
                result.AddRange(searchDc.GetAllPansions().Select(p => new Meal
                {
                    Id   = p.PN_KEY,
                    Name = p.PN_NAME
                }).ToList());
            }
            else
            {
                var pansion = searchDc.GetPansionByKey(pansionKey.Value);
                result.Add(new Meal
                {
                    Id   = pansion.PN_KEY,
                    Name = pansion.PN_NAME
                });
            }

            CacheHelper.AddCacheData(hash, result, new List <string>()
            {
                PansionsExtension.TableName
            }, Globals.Settings.Cache.LongCacheTimeout);
            return(result);
        }
Example #2
0
        /// <summary>
        /// Возвращает питание по ключу
        /// </summary>
        /// <param name="dc">Контекст базы данных</param>
        /// <param name="pansionKeys">Ключ питания</param>
        /// <param name="hash"></param>
        /// <returns></returns>
        public static IList <Pansion> GetPansionsByKeys(this MtSearchDbDataContext dc, IEnumerable <int> pansionKeys, out string hash)
        {
            List <Pansion> result;

            hash = String.Format("{0}_{1}", MethodBase.GetCurrentMethod().Name, String.Join(",", pansionKeys));
            if ((result = CacheHelper.GetCacheItem <List <Pansion> >(hash)) != null)
            {
                return(result);
            }

            var pansion = (from p in dc.GetAllPansions()
                           where pansionKeys.Contains(p.PN_KEY)
                           select p)
                          .ToList();

            CacheHelper.AddCacheData(hash, pansion, new List <string>()
            {
                TableName
            }, Globals.Settings.Cache.LongCacheTimeout);
            return(pansion);
        }
Example #3
0
        /// <summary>
        /// Возвращает питание по ключу
        /// </summary>
        /// <param name="dc">Контекст базы данных</param>
        /// <param name="pansionKey">Ключ питания</param>
        /// <returns></returns>
        public static Pansion GetPansionByKey(this MtSearchDbDataContext dc, int pansionKey)
        {
            Pansion result;

            var hash = String.Format("{0}_{1}", MethodBase.GetCurrentMethod().Name, pansionKey);

            if ((result = CacheHelper.GetCacheItem <Pansion>(hash)) != null)
            {
                return(result);
            }

            var pansion = (from p in dc.GetAllPansions()
                           where p.PN_KEY == pansionKey
                           select p)
                          .FirstOrDefault();

            CacheHelper.AddCacheData(hash, pansion, new List <string>()
            {
                TableName
            }, Globals.Settings.Cache.LongCacheTimeout);
            return(pansion);
        }