package org.example.Enums;

/**
 * 程序类型（对应C#的FieldType枚举）
 */
public class SystemTypeEnums {

    public enum FieldType {
        Unknown,
        Boolean,
        SByte,
        Byte,
        Int16,
        UInt16,
        Int32,
        UInt32,
        Int64,
        UInt64,
        Decimal,
        Float,
        Double,
        SmallMoney,
        Money,
        SmallDateTime,
        DateTime,
        AnsiChar,
        AnsiVarChar,
        AnsiText,
        AnsiVarCharMax,
        Char,
        VarChar,
        Text,
        VarCharMax,
        Binary,
        VarBinary,
        Image,
        VarBinaryMax,
        Variant,
        TimeStamp,
        Guid
    }


    /**
     * 登录类型（对应C#的LoginType枚举，保留指定数值）
     */
    public enum LoginType {
        CS(1),
        Web(2),
        Android(3),
        IOS(4),
        AD(5);

        private final int value;

        // 构造函数指定枚举值
        LoginType(int value) {
            this.value = value;
        }

        // 获取枚举值（类似C#的枚举默认值访问）
        public int getValue() {
            return value;
        }
    }


    /**
     * 替换参数类型（对应C#的PmType枚举）
     */
    public enum PmType {
        store,
        sql,
        ignorenull, // 忽略不包含的键
        program
    }
}
