Exemple #1
0
        private static string Invoke <T>(Func <string, T> action, string options,
                                         ErrorCode expectedErrorCode = ErrorCode.UnknownError)
        {
            object result;

            try
            {
                result = action(options);
            }
            catch (SerializationException ex)
            {
                result = new GlobalizationError(ErrorCode.UnknownError, ex.Message);
            }
            catch (Exception ex)
            {
                // Using a method' specific expected error code here
                result = new GlobalizationError(expectedErrorCode, ex.Message);
            }

            string resultJSON = result as string;

            if (resultJSON != null)
            {
                return(resultJSON);
            }

            // This is either a DataContract type or a GlobalizationError
            return(JsonHelper.Serialize(result));
        }
Exemple #2
0
        private void Invoke <T>(Func <string, T> action, string options,
                                ErrorCode expectedErrorCode = ErrorCode.UnknownError)
        {
            object result;

            try
            {
                result = action(ExtractGlobalizationOptions(options));
            }
            catch (SerializationException ex)
            {
                result = new GlobalizationError(ErrorCode.UnknownError, ex.Message);
            }
            catch (Exception ex)
            {
                // Using a method' specific expected error code here
                result = new GlobalizationError(expectedErrorCode, ex.Message);
            }

            if (result is GlobalizationError)
            {
                this.DispatchCommandResult(new PluginResult(PluginResult.Status.ERROR, result));
            }
            else
            {
                this.DispatchCommandResult(new PluginResult(PluginResult.Status.OK, result));
            }
        }