${iServer2_DatasetInfo_Title}

${iServer2_DatasetInfo_Description}

        internal static string ToJson(DatasetInfo datasetInfo)
        {
            if (datasetInfo == null)
            {
                return null;
            }
            string json = "{";

            List<string> list = new List<string>();

            if (!string.IsNullOrEmpty(datasetInfo.DatasetName))
            {
                list.Add(string.Format("\"datasetName\":\"{0}\"", datasetInfo.DatasetName));
            }
            else
            {
                list.Add("\"datasetName\":\"\"");
            }

            if (!string.IsNullOrEmpty(datasetInfo.DatasourceName))
            {
                list.Add(string.Format("\"datasourceName\":\"{0}\"", datasetInfo.DatasourceName));
            }
            else
            {
                list.Add(string.Format("\"datasourceName\":null"));
            }

            json += string.Join(",", list.ToArray());
            json += "}";
            return json;
        }
        /// <summary>${iServer2_DatasetInfo_method_FromJson_D}</summary>
        /// <param name="jsonObject">${iServer2_DatasetInfo_method_FromJson_param_jsonObject}</param>
        /// <returns>${iServer2_DatasetInfo_method_FromJson_return}</returns>
        public static DatasetInfo FromJson(JsonObject jsonObject)
        {
            if (jsonObject == null)
            {
                return null;
            }
            DatasetInfo result = new DatasetInfo();

            result.DatasetName = (string)jsonObject["datasetName"];
            result.DatasetType = (DatasetType)(int)jsonObject["datasetType"];
            result.DatasourceName = (string)jsonObject["datasourceName"];
            result.Bounds = ToRectangle2D((JsonObject)jsonObject["bounds"]);

            return result;
        }