public override void Handle(object param) { mLogger.Debug("IN - {@Param}", param); ServerMessageServiceParam paramObj = (ServerMessageServiceParam)param; var paramHandler = paramObj.Data as HandlerParameter; if (paramHandler.LabelId != null && paramHandler.LabelId.Length > 0) { var categories = mCategoryDao.FindCategory(true, paramHandler.LabelId); var cacheEntryOptions = new MemoryCacheEntryOptions(); mMemoryCache.Set(cacheKey, new CategoryListParam() { CategoryList = categories.ToArray() }, cacheEntryOptions); } else { mLogger.Warn("カテゴリ一覧の取得ソースを指定してください。"); return; } mIntentManager.AddIntent(ServiceType.Workflow, "ACT_UPDATED_CATEGORYLIST"); mLogger.Debug("OUT"); }
public override void Handle(object param) { this.mLogger.Debug("IN - {@Param}", param); var paramObj = (ServerMessageServiceParam)param; var paramHandler = paramObj.Data as HandlerParameter; switch (paramHandler.ModelType) { case "Content": this.mLogger.Debug("データモデルタイプをContentとして処理を実行します"); var dao_content = new ContentDao(); var content = (Content)paramHandler.Value; dao_content.Update(content); if (paramHandler.UpdateNotificationFlag) { mIntentManager.AddIntent(ServiceType.Workflow, "ACT_RESINVALIDATE_CONTENT", new ResInvalidateContentParameter { ContentId = content.Id }); } break; default: this.mLogger.Warn($"不明なオペレーション({@paramHandler.ModelType})のため実行しませんでした。"); break; } this.mLogger.Debug("OUT"); }
public override void Handle(object param) { this.mLogger.Debug("IN - {@Param}", param); var paramObj = (ServerMessageServiceParam)param; var paramHandler = paramObj.Data as HandlerParameter; // Guard if (string.IsNullOrEmpty(paramHandler.RegisterName)) { this.mLogger.Warn("保存先レジスタ名が未設定です。"); return; } var dao_content = new ContentDao(); var content = dao_content.LoadContent(paramHandler.ContentId); // 取得したURLをキャッシュに格納 var cacheEntryOptions = new MemoryCacheEntryOptions() .SetSlidingExpiration(TimeSpan.FromSeconds(30)); mMemoryCache.Set(paramHandler.RegisterName, content, cacheEntryOptions); var workflowParam = new ResInvalidateContentParameter() { ContentId = paramHandler.ContentId, RegisterName = paramHandler.RegisterName }; mIntentManager.AddIntent(ServiceType.Workflow, "ACT_RESINVALIDATE_CONTENT", workflowParam); mLogger.Debug("OUT"); }
public void Handle(IpcMessage param) { Console.WriteLine("[PixstockIntentHandler][Handle] - IN " + param); // IPCメッセージから、PixstockのIntentメッセージを取り出す処理 var message = JsonConvert.DeserializeObject <IntentMessage>(param.Body.ToString()); Console.WriteLine(" ServiceType=" + message.ServiceType); mIntentManager.AddIntent(message.ServiceType, message.MessageName, message.Parameter); }
public override void Handle(object param) { ServerMessageServiceParam serviceParam = (ServerMessageServiceParam)param; var category = mCategoryDao.LoadCategory(long.Parse(serviceParam.Data.ToString()), 0, CategoryDao.MAXLIMIT); mMemoryCache.Set("ResponseCategoryContent", new CategoryDetailResponse { Category = category, Content = category.LinkContentList.ToArray() }); mIntentManager.AddIntent(ServiceType.Workflow, "RESPONSE_GETCATEGORYCONTENT", null); }
public void Handle(IpcMessage param) { mLogger.Debug("[Handle(IpcMessage)] - IN " + param); try { // IPCメッセージから、PixstockのIntentメッセージを取り出す処理 var message = JsonConvert.DeserializeObject <IntentMessage> (param.Body.ToString()); mIntentManager.AddIntent(message.ServiceType, message.MessageName, message.Parameter); } catch (Exception expr) { mLogger.Error(expr, "[Handle(IpcMessage)] Faile Deserialize"); } }
/// <summary> /// ナビゲーションリストを元にプレビュー画面を表示している場合の、 /// プレビュー画面の情報をビューに送信します。 /// </summary> /// <param name="intentManager"></param> /// <param name="memoryCache"></param> /// <param name="totalNum">ナビゲーションリスト内の総項目数</param> /// <param name="currentPos">ナビゲーションリスト内での現在の位置</param> internal static void ExecuteInvalidatePreviewInfo( IIntentManager intentManager, IMemoryCache memoryCache, long totalNum, long currentPos) { var cacheEntryOptions = new MemoryCacheEntryOptions() .SetSlidingExpiration(TimeSpan.FromSeconds(30)); memoryCache.Set("PreviewInfo", new PreviewInfo(totalNum, currentPos), cacheEntryOptions); intentManager.AddIntent(ServiceType.FrontendIpc, "UpdateProp", "PreviewInfo"); }
public override void Handle(object param) { ServerMessageServiceParam serviceParam = (ServerMessageServiceParam)param; var handlerParam = JsonConvert.DeserializeObject <GetCategoryParam> (serviceParam.Data.ToString()); var category = mCategoryDao.LoadCategory(handlerParam.CategoryId, handlerParam.OffsetSubCategory, handlerParam.LimitOffsetSubCategory); mMemoryCache.Set("ResponseCategory", new CategoryDetailResponse { Category = category, SubCategory = category.LinkSubCategoryList.ToArray(), Content = category.LinkContentList.ToArray() }); //this.mLogger.LogDebug(LoggingEvents.Undefine, "[Execute] Register RESPONSE_GETCATEGORY"); mIntentManager.AddIntent(ServiceType.Workflow, "RESPONSE_GETCATEGORY", null); }
public override void Handle(object param) { mLogger.Debug("IN - {@Param}", param); ServerMessageServiceParam paramObj = (ServerMessageServiceParam)param; var paramHandler = paramObj.Data as HandlerParameter; var content = mContentDao.LoadContent(paramHandler.ContentId); // 取得したURLをキャッシュに格納 var cacheEntryOptions = new MemoryCacheEntryOptions() .SetSlidingExpiration(TimeSpan.FromSeconds(30)); mMemoryCache.Set(CACHE_KEY, content.PreviewFileUrl, cacheEntryOptions); mIntentManager.AddIntent(ServiceType.FrontendIpc, "UpdateProp", CACHE_KEY); mLogger.Debug("OUT"); }
public override void Handle(object param) { mLogger.Debug("IN - {@Param}", param); ServerMessageServiceParam paramObj = (ServerMessageServiceParam)param; var paramHandler = paramObj.Data as HandlerParameter; var dao_cat = new CategoryDao(); var category = dao_cat.LoadCategory(categoryId: paramHandler.CategoryId, offsetContent: paramHandler.PageNo); var cacheEntryOptions = new MemoryCacheEntryOptions(); mMemoryCache.Set(cacheKey, new ContentListParam() { Category = category, ContentList = category.LinkContentList.ToArray() }, cacheEntryOptions); mIntentManager.AddIntent(ServiceType.Workflow, "ACT_RESINVALIDATE_CONTENTLIST"); mLogger.Debug("OUT"); }
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"); }
public override void Handle(object param) { this.mLogger.Debug("IN - {@Param}", param); var paramObj = (ServerMessageServiceParam)param; var paramHandler = paramObj.Data as HandlerParameter; var dao_content = new ContentDao(); var content = dao_content.LoadContent(paramHandler.ContentId); if (content == null) { // Guard // TODO: 例外をスローする } // すべてのオペレーションを処理する // オペレーションを追加したい場合は、下記に実装してください。 foreach (var op in paramHandler.Operations) { switch (op.OperationName) { case "Read": this.mLogger.Debug("Readオペレーションを実行します"); dao_content.UpdateRead(paramHandler.ContentId); var workflowParam = new ResInvalidateContentParameter() { ContentId = paramHandler.ContentId, RegisterName = "" }; mIntentManager.AddIntent(ServiceType.Workflow, "ACT_RESINVALIDATE_CONTENT", workflowParam); break; default: this.mLogger.Warn($"不明なオペレーション({@op.OperationName})のため実行しませんでした。"); break; } } this.mLogger.Debug("OUT"); }