SuperMap.Connector.DataProvider.AddFeatures C# (CSharp) Method

AddFeatures() public method

在指定数据集中增加一组同类型的要素。
public AddFeatures ( string datasourceName, string datasetName, List targetFeatures ) : EditResult
datasourceName string 数据源名称。
datasetName string 数据集名称。
targetFeatures List 待添加的要素列表,列表中的要素必须是同一种类型。
return EditResult
        public EditResult AddFeatures(string datasourceName, string datasetName, List<Feature> targetFeatures)
        {
            EditResult editResult = new EditResult();
            if (string.IsNullOrEmpty(datasourceName))
            {
                editResult.Succeed = false;
                editResult.Message = string.Format(Resources.ParamIsNotNull, "datasourceName");
                return editResult;
            }
            if (string.IsNullOrEmpty(datasetName))
            {
                editResult.Succeed = false;
                editResult.Message = string.Format(Resources.ParamIsNotNull, "datasetName");
                return editResult;
            }
            if (targetFeatures == null || targetFeatures.Count <= 0)
            {
                editResult.Succeed = false;
                editResult.Message = string.Format(Resources.ParamIsNotNull, "targetFeatures");
                return editResult;
            }

            int featureCount = targetFeatures.Count;
            for (int i = 0; i < featureCount; i++)
            {
                if (targetFeatures[i].FieldNames == null)
                {
                    targetFeatures[i].FieldNames = new string[] { };
                }
                if (targetFeatures[i].FieldValues == null)
                {
                    targetFeatures[i].FieldValues = new string[] { };
                }
            }
            string uri = string.Format("{0}/data/datasources/{1}/datasets/{2}/features.json?returnContent=true", this._serviceUrl,
                datasourceName, datasetName);
            string postData = JsonConvert.SerializeObject(targetFeatures);
            string requestResultJson = string.Empty;

            try
            {
                requestResultJson = SynchHttpRequest.GetRequestString(uri, postData);
            }
            catch (ServiceException e)
            {
                editResult.Succeed = false;
                editResult.Message = e.Message;
                return editResult;
            }
            //处理返回的ids ,[167,168] 
            string[] idsStr = requestResultJson.Replace("[", "").Replace("]", "").Trim().Split(',');
            int idsNum = idsStr.Length;
            editResult.Ids = new int[idsNum];
            for (int i = 0; i < idsNum; i++)
            {
                int.TryParse(idsStr[i].Trim(), out editResult.Ids[i]);
            }
            //判断ids的个数,小于等于0,即判定为添加要素错误
            if (idsNum > 0)
            {
                editResult.Succeed = true;
            }
            else
            {
                editResult.Succeed = false;
            }
            return editResult;
        }