Beispiel #1
0
            public override void Handle(object param)
            {
                mLogger.Debug("IN - {@Param}", param);
                ServerMessageServiceParam paramObj = (ServerMessageServiceParam)param;
                var paramHandler = paramObj.Data as HandlerParameter;

                if (paramHandler.CategoryId.HasValue)
                {
                    // カテゴリから関連するコンテント一覧を作成する場合
                    var category = mCategoryDao.LoadCategory(categoryId: paramHandler.CategoryId.Value, offsetContent: paramHandler.PageNo);

                    var cacheEntryOptions = new MemoryCacheEntryOptions();
                    mMemoryCache.Set(cacheKey,
                                     new ContentListParam()
                    {
                        Category = category, ContentList = category.LinkContentList.ToArray()
                    },
                                     cacheEntryOptions);
                }
                else if (paramHandler.LabelId.HasValue)
                {
                    // ラベルから関連するコンテント一覧を生成する場合
                    var label             = mLabelDao.LoadLabel(paramHandler.LabelId.Value);
                    var cacheEntryOptions = new MemoryCacheEntryOptions();
                    mMemoryCache.Set(cacheKey,
                                     new ContentListParam()
                    {
                        ContentList = label.LinkContentList.ToArray()
                    },
                                     cacheEntryOptions);
                }
                else
                {
                    mLogger.Warn("コンテント一覧の取得ソースを指定してください。");
                    return;
                }

                mIntentManager.AddIntent(ServiceType.Workflow, "ACT_RESINVALIDATE_CONTENTLIST");
                mLogger.Debug("OUT");
            }