/// <summary>${REST_EditFeaturesService_method_ProcessAsync_D}</summary> /// <param name="parameters">${REST_EditFeaturesService_method_ProcessAsync_param_Parameters}</param> /// <param name="state">${REST_EditFeaturesService_method_ProcessAsync_param_state}</param> public async Task<EditFeaturesResult> ProcessAsync(EditFeaturesParameters parameters) { if (parameters == null) { throw new ArgumentNullException(ExceptionStrings.ArgumentIsNull); } if (string.IsNullOrEmpty(this.Url)) { throw new InvalidOperationException(ExceptionStrings.InvalidUrl); } if (parameters.EditType == EditType.ADD) { base.Url += ".json?returnContent=true&debug=true";//直接获取添加地物SmID } else if (parameters.EditType == EditType.DELETE) { base.Url += ".json?_method=DELETE&debug=true"; } else { base.Url += ".json?_method=PUT&debug=true"; } var jsonResult = await base.SubmitRequest(base.Url, GetParameters(parameters), true, true); EditFeaturesResult result = null; if (JsonObject.Parse(jsonResult) is JsonObject) { JsonObject jsonObject = JsonObject.Parse(jsonResult); result = EditFeaturesResult.FromJson(jsonObject); } else { JsonArray json = JsonArray.Parse(jsonResult); result = new EditFeaturesResult(); result.Succeed = true; result.IDs = new List<int>(); for (int i = 0; i < json.Count; i++) { result.IDs.Add((int)json[i].GetNumberEx()); } } return result; }
/// <summary>${REST_EditFeaturesResult_method_FromJson_D}</summary> /// <returns>${REST_EditFeaturesResult_method_FromJson_return}</returns> /// <param name="json">${REST_EditFeaturesResult_method_FromJson_param_jsonObject}</param> internal static EditFeaturesResult FromJson(JsonObject json) { if (json == null) return null; EditFeaturesResult result = new EditFeaturesResult(); result.Succeed = json["succeed"].GetBooleanEx(); //TODO: if (json.ContainsKey("newResourceLocation")) { result.NewResourceLocation = json["newResourceLocation"].GetStringEx(); } //if (json.ContainsKey("error")) //{ // result.Error = HttpError.FromJson((JsonObject)json["error"]); //} return result; }