public bool CopyDataset(string srcDatasourceName, string srcDatasetName, string destDatasourceName, string destDatasetName)
{
if (string.IsNullOrEmpty(srcDatasourceName)) throw new ArgumentNullException("srcDatasourceName", Resources.ArgumentIsNotNull);
if (string.IsNullOrEmpty(srcDatasetName)) throw new ArgumentNullException("srcDatasetName", Resources.ArgumentIsNotNull);
if (string.IsNullOrEmpty(destDatasourceName)) throw new ArgumentNullException("destDatasourceName", Resources.ArgumentIsNotNull);
if (string.IsNullOrEmpty(destDatasetName)) throw new ArgumentNullException("destDatasetName", Resources.ArgumentIsNotNull);
string uri = string.Format("{0}/data/datasources/{1}/datasets.json", this._serviceUrl, destDatasourceName);
CopyDatasetRequestParameter datasetInfo = new CopyDatasetRequestParameter(srcDatasourceName, srcDatasetName, destDatasetName);
string result = SynchHttpRequest.GetRequestString(uri, JsonConvert.SerializeObject(datasetInfo));
EditResult datasetResult = JsonConvert.DeserializeObject<EditResult>(result);
return datasetResult.Succeed;
}