/*******************************************************************************
 * Copyright © 2016 WaterCloud.Framework 版权所有
 * Author: WaterCloud
 * Description: WaterCloud快速开发平台
 * Website：
*********************************************************************************/

using System.Collections.Generic;
using System.Text;

namespace WaterCloud.Code
{
	public static class TreeSelect
	{
		public static string TreeSelectJson(this List<TreeSelectModel> data)
		{
			StringBuilder sb = new StringBuilder();
			sb.Append("[");
			sb.Append(TreeSelectJson(data, "0", ""));
			sb.Append("]");
			return sb.ToString();
		}

		private static string TreeSelectJson(List<TreeSelectModel> data, string parentId, string blank)
		{
			StringBuilder sb = new StringBuilder();
			var ChildNodeList = data.FindAll(t => t.parentId == parentId);
			var tabline = "";
			if (parentId != "0")
			{
				tabline = "　　";
			}
			if (ChildNodeList.Count > 0)
			{
				tabline = tabline + blank;
			}
			foreach (TreeSelectModel entity in ChildNodeList)
			{
				entity.text = tabline + entity.text;
				string strJson = entity.ToJson();
				sb.Append(strJson);
				sb.Append(TreeSelectJson(data, entity.id, tabline));
			}
			return sb.ToString().Replace("}{", "},{");
		}
	}
}