using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace NFine.Domain._03_Entity.SystemManage
{
    public class FilterClass
    {
        public string LogString { set; get; }
        public int LogIndex { set; get; }
        public string SValue { set; get; }

        public string DValue { set; get; }
        /// <summary>
        /// 获取数据类型
        /// </summary>
        /// <param name="dc"></param>
        /// <returns></returns>
        public static int GetDataType(DataColumn dc)
        {
            int res = 0;

            if (dc.DataType == typeof(System.String))
            {
                res = 1;
            }
            else if (dc.DataType == typeof(DateTime))
            {
                res = 2;
            }
            else if (dc.DataType == typeof(int))
            {
                res = 0;
            }
            else if (dc.DataType == typeof(float))
            {
                res = 0;
            }
            else if (dc.DataType == typeof(double))
            {
                res = 0;
            }
            else if (dc.DataType == typeof(decimal))
            {
                res = 0;
            }
            else if (dc.DataType == typeof(short))
            {
                res = 0;
            }
            else if (dc.DataType == typeof(long))
            {
                res = 0;
            }
            else if (dc.DataType == typeof(char))
            {
                res = 1;
            }
            else if (dc.DataType == typeof(bool))
            {
                res = 3; ;
            }
            return res;
        }
    }


    public class ConditionClass
    {
        public string ID { set; get; }
        public string CSortSeq { set; get; }
        public string NotNullFlag { set; get; }
        public string CCaption { set; get; }
        public string CFiledName { set; get; }
        public string CIndex { set; get; }
        public string CDataType { set; get; }
        public string CDefaultLogStirng { set; get; }
        public string CDefaultValue { set; get; }
        public string CLogString { set; get; }
        public string CSelectFlag { set; get; }
        public string CSelectSqlTxt { set; get; }
        public string CSelectSourceId { set; get; }
        public string SysDataSourceFlag { set; get; }
        public string ReturnCol { set; get; }



    }


    public class ConditionSQLClass
    {
        
        public string CIndex { set; get; }
        public string Content { set; get; }
        



    }

    /// <summary>
    /// BY账号记录的默认筛选条件
    /// </summary>
    public class DefaultRecordClass
    {

        public string FilterID { set; get; }
        public string CCaption { set; get; }

        public string CDefaultLogStirng { set; get; }
        public string CDefaultValue1 { set; get; }
        public string CDefaultValue2 { set; get; }


    }


    public class ColsOfGridClass
    {
        public string Id { set; get; }
        public string SourceId { set; get; }
        public string ColCaption { set; get; }
        public string ColFiledName { set; get; }
        public string DataType { set; get; }
        public Boolean DefineFlag { set; get; }
        public string FunctionString { set; get; }
        public int DeciamlNum { set; get; }
        public int ColWidth { set; get; }
        public Boolean ColMerFlag { set; get; }
        public Boolean ColMerKeyFlag { set; get; }
        public Boolean ColSumFlag { set; get; }
        public string HeaderId { set; get; }
        public int COrder { set; get; }
        public Boolean VisbleFlag { set; get; }
        public Boolean SortFlag { set; get; }

    }

    public class ColsStrOfGridClass
    {
        public string Id { set; get; }
        public string SourceId { set; get; }
        public string ColCaption { set; get; }
        public string ColFiledName { set; get; }
        public string DataType { set; get; }
        public string DefineFlag { set; get; }
        public string FunctionString { set; get; }
        public string DeciamlNum { set; get; }
        public string ColWidth { set; get; }
        public string ColMerFlag { set; get; }
        public string ColMerKeyFlag { set; get; }
        public string ColSumFlag { set; get; }
        public string HeaderId { set; get; }
        public string COrder { set; get; }
        public string VisbleFlag { set; get; }
        public string SortFlag { set; get; }

    }

    public class GridFormatClass
    {
        //ID,ColId,LogStr,SValue,DValue,Color,AllRowFlag
        public string ID { set; get; }
        public string ColId { set; get; }
        public string LogStr { set; get; }
        public string SValue { set; get; }
        public string DValue { set; get; }
        public string Color { set; get; }
        public string AllRowFlag { set; get; }


    }

    public enum LogStringTypeEnum
    {

        等于 = 0,
        不等于 = 1,
        小于 = 2,
        大于 = 3,
        小于等于 = 4,
        大于等于 = 5,
        范围内 = 6,
        范围外 = 7,
        包含 = 8,
        头部包含 = 9,
        尾部包含 = 10,
        不包含 = 11
    }
    public enum DataTypeEnum
    {
        数值型 = 0,
        字符型 = 1,
        日期型 = 2,
        布尔值 = 3
    }
}