private void ClearCacheCommand(TransportClassContextRead oTransportClassContextRead, InputCommand cmd) { AsyncClearCacheOperation oAsyncClearCacheOperation = new AsyncClearCacheOperation(); TransportClassClearCache oTransportClassClearCache = new TransportClassClearCache(oTransportClassContextRead, cmd, oAsyncClearCacheOperation, null); oAsyncClearCacheOperation.ClearCacheBegin(cmd.id, TaskResultRemoveCallback, oTransportClassClearCache); }
private void TaskResultGetAsyncCallback(IAsyncResult ar) { TransportClassTaskResult oTransportClassTaskResult = ar.AsyncState as TransportClassTaskResult; try { TaskResultData oTask; ErrorTypes eError = oTransportClassTaskResult.m_oTaskResult.GetEnd(ar, out oTask); if (ErrorTypes.NoError == eError) { InputCommand cmd = oTransportClassTaskResult.m_oInputCommand; switch (oTask.eStatus) { case FileStatus.Ok: TaskResultGetAsyncCallbackOk(oTransportClassTaskResult); break; case FileStatus.Convert: case FileStatus.WaitQueue: WriteOutputCommand(oTransportClassTaskResult, new OutputCommand("waitsave", cmd.data)); break; case FileStatus.Err: WriteOutputCommand(oTransportClassTaskResult, new OutputCommand((ErrorTypes)oTask.nStatusInfo)); break; case FileStatus.ErrToReload: AsyncClearCacheOperation oAsyncClearCacheOperation = new AsyncClearCacheOperation(); TransportClassClearCache oTransportClassClearCache = new TransportClassClearCache(oTransportClassTaskResult, cmd, oAsyncClearCacheOperation, (ErrorTypes)oTask.nStatusInfo); oAsyncClearCacheOperation.ClearCacheBegin(oTask.sKey, ClearCacheCallback, oTransportClassClearCache); break; default: WriteOutputCommand(oTransportClassTaskResult, new OutputCommand(ErrorTypes.Unknown)); break; } } else WriteOutputCommand(oTransportClassTaskResult, new OutputCommand(eError)); } catch { WriteOutputCommand(oTransportClassTaskResult, new OutputCommand(ErrorTypes.Unknown)); } }
private void TaskResultGetProcess(TaskResultData oTaskInfo, bool bDataCreate, InputCommand cmd, TransportClassMainAshx oTransportClassMainAshx) { switch (oTaskInfo.eStatus) { case FileStatus.Ok: { string sAffiliateId = null; Signature.getVKeyStringParam(cmd.vkey, ConfigurationSettings.AppSettings["keyKeyID"], out sAffiliateId); if (null != sAffiliateId) { string sTag = null; switch (cmd.editorid) { case (int)LicenseInfo.EditorType.Spreadsheet: sTag = "open_sheet"; break; case (int)LicenseInfo.EditorType.Presentation: sTag = "open_presentation"; break; default: sTag = "open_word"; break; } FileConverterUtils2.FileStatistic oFileStat = new FileStatistic(); oFileStat.insert(sAffiliateId, cmd.id, DateTime.UtcNow, sTag); } ITaskResultInterface oTaskResult = TaskResult.NewTaskResult(); TransportClassTaskResult oTransportClassTaskResult = new TransportClassTaskResult( oTransportClassMainAshx, cmd, oTaskResult); string sOutputCommand = ("create" == cmd.c)? "create": "open"; WriteOutputCommand(oTransportClassTaskResult, new OutputCommand(sOutputCommand, cmd.id + "/Editor.bin")); } break; case FileStatus.Convert: case FileStatus.WaitQueue: { if (bDataCreate) { AddTask(cmd, oTransportClassMainAshx); } else { WriteOutputCommand(oTransportClassMainAshx, new OutputCommand("waitopen", oTaskInfo.nStatusInfo.ToString())); } } break; case FileStatus.None: { if (bDataCreate) { TaskResultDataToUpdate oToUpdate = new TaskResultDataToUpdate(); oToUpdate.eStatus = FileStatus.WaitQueue; ITaskResultInterface oTaskResult = TaskResult.NewTaskResult(); TransportClassTaskResult oTransportClassTaskResult = new TransportClassTaskResult(oTransportClassMainAshx, cmd, oTaskResult); oTaskResult.UpdateBegin(cmd.id, oToUpdate, TaskResultUpdateCallback, oTransportClassTaskResult); } else { WriteOutputCommand(oTransportClassMainAshx, new OutputCommand("waitopen", oTaskInfo.nStatusInfo.ToString())); } } break; case FileStatus.NeedParams: string sUrl = Constants.mc_sResourceServiceUrlRel + HttpUtility.UrlEncode(cmd.id + "/settings.json"); WriteOutputCommand(oTransportClassMainAshx, new OutputCommand("needparams", sUrl)); break; case FileStatus.ErrToReload: { AsyncClearCacheOperation oAsyncClearCacheOperation = new AsyncClearCacheOperation(); TransportClassClearCache oTempTransportClassClearCache = new TransportClassClearCache(oTransportClassMainAshx, cmd, oAsyncClearCacheOperation, oTaskInfo.nStatusInfo); oAsyncClearCacheOperation.ClearCacheBegin(cmd.id, TaskResultRemoveCallback2, oTempTransportClassClearCache); } break; case FileStatus.Err: WriteOutputCommand(oTransportClassMainAshx, new OutputCommand((ErrorTypes)oTaskInfo.nStatusInfo)); break; case FileStatus.SaveVersion: { if (cmd.viewmode) WriteOutputCommand(oTransportClassMainAshx, new OutputCommand("updateversion", cmd.id + "/Editor.bin")); else { ITaskResultInterface oTaskResult = TaskResult.NewTaskResult(); TaskResultDataToUpdate oTask = new TaskResultDataToUpdate(); oTask.eStatus = FileStatus.Ok; TaskResultDataToUpdate oMask = new TaskResultDataToUpdate(); oMask.eStatus = FileStatus.SaveVersion; TransportClassTaskResult oTransportClassTaskResult = new TransportClassTaskResult(oTransportClassMainAshx, cmd, oTaskResult); oTaskResult.UpdateIfBegin(cmd.id, oMask, oTask, TaskResultUpdateIfCallback2, oTransportClassTaskResult); } } break; case FileStatus.UpdateVersion: WriteOutputCommand(oTransportClassMainAshx, new OutputCommand("updateversion", cmd.id + "/Editor.bin")); break; default: WriteOutputCommand(oTransportClassMainAshx, new OutputCommand(ErrorTypes.Unknown)); break; } }