예제 #1
0
        public List <Dept> getDepts()
        {
            String           sql   = @"SELECT
  dept.DEPT_CODE DEPT_CODE,
  dept.NAME DEPT_NAME,
  ID ID,
  users.NAME NAME,
  GENDER GENDER,
  BIRTH BIRTH,
  IMAGE IMAGE
FROM baby.dept LEFT JOIN users
    ON dept.DEPT_CODE = users.DEPT_CODE";
            List <ResultCmd> rcmds = new List <ResultCmd>();

            rcmds.Add(new ResultCmd("DeptCode", "DEPT_CODE"));
            rcmds.Add(new ResultCmd("Name", "DEPT_NAME"));
            ResultCollectionCmd <User> colect = new ResultCollectionCmd <User>();

            colect.Property          = "Users";
            colect.Results           = new Dictionary <string, ResultCmd>();
            colect.Results["ID"]     = new ResultCmd("Id", "ID");
            colect.Results["NAME"]   = new ResultCmd("Name", "NAME");
            colect.Results["GENDER"] = new ResultCmd("Sex", "GENDER");
            colect.Results["BIRTH"]  = new ResultCmd("Birth", "BIRTH");
            colect.Results["IMAGE"]  = new ResultCmd("Image", "IMAGE");
            return(this.query <Dept, User>(sql, rcmds, colect));
        }
예제 #2
0
        public List <T> getList <T, E>(DataSet ds, List <ResultCmd> results, ResultCollectionCmd <E> resultCollection)
        {
            DataTable dt = validate(ds);

            if (dt == null)
            {
                return(new List <T>());
            }
            return(create <T, E>(dt, results, resultCollection));
        }
예제 #3
0
        public T get <T, E>(DataSet ds, List <ResultCmd> results, ResultCollectionCmd <E> resultCollection)
        {
            DataTable dt = validate(ds);

            if (dt == null)
            {
                return(default(T));
            }
            throw new Exception("The method or operation is not implemented.");
        }
예제 #4
0
        private List <T> create <T, E>(DataTable dt, List <ResultCmd> cmds, ResultCollectionCmd <E> resultCollection)
        {
            Dictionary <T, List <E> > dic = new Dictionary <T, List <E> >();
            List <T> list = new List <T>();

            foreach (DataRow dr in dt.Rows)
            {
                T t = create <T>(dr, cmds);
                E e = create <E>(dr, resultCollection.getResultList());
                if (!dic.ContainsKey(t))
                {
                    dic[t] = new List <E>();
                    list.Add(t);
                }
                dic[t].Add(e);
            }
            foreach (KeyValuePair <T, List <E> > item in dic)
            {
                PropertyUtil.setValue(item.Key, resultCollection.Property, item.Value);
            }
            return(list);
        }
예제 #5
0
 public List <E> query <E, U>(String sql, List <ResultCmd> cmds, ResultCollectionCmd <U> colet)
 {
     return(mICreate.getList <E, U>(mIDataAccess.select(sql), cmds, colet));
 }