using APT.BaseData.Domain.Entities;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace APT.BaseData.Domain.ApiModel
{
	public class EntityFieldModel
	{
		public string FieldName { get; set; }

		public string Label { get; set; }

		public string TypeName { get; set; }

		public string EnumName { get; set; } 
	}


	public class EntityFieldByQueryFieldModel : EntityFieldModel
	{
		public EntityFieldByQueryFieldModel()
		{
			this.IsLeaf = true;
		}

		public int DataType { get; set; }

		public string OpDefault { get; set; }

		public int Num { get; set; }


		public string ShowLabel { get; set; }

		public bool IsLeaf { get; set; }
		public bool IsSysField { get; set; }
		public bool IsCustom { get; set; }

		public bool IsSysParam { get; set; }
		/// <summary>
		/// FMCaseProcEnum
		/// </summary>
		public int CaseType { get; set; }


		public bool IsRequire { get; set; }
		public List<EntityFieldByQueryFieldModel> Children { get; set; }
	}



	public class UserCCQueryModel 
	{

		public UserCCQueryModel()
		{
			this.Nav_Fields = new List<EntityFieldByQueryFieldModel>();
		}

		public virtual APT.BaseData.Domain.Entities.FM.T_FM_USER_C_C_QUERY Nav_UserCCQuery { get; set; }

		public virtual ICollection<EntityFieldByQueryFieldModel> Nav_Fields { get; set; }
	}

}
