public static IEnumerable <SYSTRXDATA <eSysID, eTrxDataType> > ReadSystrxdatas(this DBCtrl db, string model = null)
 {
     if (model == null)
     {
         return(db.Read <SYSTRXDATA <eSysID, eTrxDataType> >());
     }
     else
     {
         return(db.Read <SYSTRXDATA <eSysID, eTrxDataType> >(new SqlScript()
         {
             sql = $"SELECT * FROM SYSTRXDATA WHERE MODELNAME IN ('*','{model}')"
         }));
     }
 }
        public static TMain ReadSysBaseData <TMain>(this DBCtrl db, eSysID configgroup) where TMain : iSysData <eSysID>, new()
        {
            TMain vpara = new TMain();

            vpara.sysid     = configgroup;
            vpara.tablename = nameof(SYSBASEDATA <eSysID, eBaseDataType>);
            vpara.prefix    = "BASE";
            SqlScript sql;

            if (!typeof(TMain).Name.Contains("Model"))
            {
                sql = new SqlScript($@"
SELECT * 
FROM SYSBASEDATA 
WHERE MODELNAME='*' AND SYSID='{configgroup.ToString()}' AND BASEDATATYPE='{typeof(TMain).Name}'");
            }
            else
            {
                sql = new SqlScript($@"
SELECT * 
FROM SYSBASEDATA A
    JOIN SYSBASEDATA B ON B.SYSID='Main' AND B.BASEDATATYPE='SystemParameter' AND B.BASEDATAID='CurrentSelectModeName' AND A.MODELNAME=B.BASEDATAVALUE
WHERE  A.SYSID='{configgroup.ToString()}' AND A.BASEDATATYPE='{typeof(TMain).Name}'");
            }
            IEnumerable <SYSBASEDATA <eSysID, eBaseDataType> > data = db.Read <SYSBASEDATA <eSysID, eBaseDataType> >(sql);

            if (data.Count() == 0)
            {
                return(vpara);
            }
            data.Read <TMain, eSysID, eBaseDataType>(ref vpara);
            return(vpara);
        }
        public static Dictionary <eSysID, List <eBaseDataType> > dicSysIDBaseDataType(this DBCtrl db)
        {
            Dictionary <eSysID, List <eBaseDataType> > _dicSysIDBaseDataType = new Dictionary <eSysID, List <eBaseDataType> >();

            foreach (eSysID enumType in Enum.GetValues(typeof(eSysID)))
            {
                _dicSysIDBaseDataType.Add(enumType, new List <eBaseDataType>());
                Array ary = Enum.GetValues(typeof(eBaseDataType));
                Array.Sort(ary);
                foreach (eBaseDataType item in ary)
                {
                    if (db.Read <SYSBASEDATA <eSysID, eBaseDataType> >()
                        .Where(x => x.SYSID.Equals(enumType))
                        .Where(x => x.BASEDATATYPE.Equals(item)).Count() > 0)
                    {
                        _dicSysIDBaseDataType[enumType].Add(item);
                    }
                }
                _dicSysIDBaseDataType[enumType].Sort(
                    (eBaseDataType x, eBaseDataType y) =>
                {
                    return(string.Compare(x.ToString(), y.ToString(), true));
                });
            }
            return(_dicSysIDBaseDataType);
        }
 public static List <MODEL> MODELs(this DBCtrl db)
 {
     return(db.Read <MODEL>().ToList());
 }
 public static List <PART> parts(this DBCtrl db)
 {
     return(db.Read <PART>().ToList());
 }
 public static List <HWSETTING> ReadHWSETTING(this DBCtrl db)
 {
     return(db.Read <HWSETTING>().ToList());
 }