예제 #1
0
        /// <summary>
        /// !!
        /// </summary>
        /// <param name="command"></param>
        internal override ReturnResult Execute(IClientCommand command)
        {
            LocalDataViewCommandBase localDataViewCommandBase = _localDataViewCommandFactory.CreateLocalDataViewCommand(command);

            DataviewSynchronizer.InLocalDataviewCommand = true;
            ReturnResultBase returnResultBase = localDataViewCommandBase.Execute();

            DataviewSynchronizer.InLocalDataviewCommand = false;
            DataviewSynchronizer.UpdateDBViewSize();

            ReturnResult result = new ReturnResult(returnResultBase);

            if (!result.Success)
            {
                ErrorHandlingInfo errorHandlingInfo = LocalErrorHandlerManager.HandleResult(result);
                if (errorHandlingInfo != null && errorHandlingInfo.Quit)
                {
                    Task.EndTaskOnError(result, false);
                }
            }
            return(result);
        }