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)); }
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)); }
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."); }
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); }
public List <E> query <E, U>(String sql, List <ResultCmd> cmds, ResultCollectionCmd <U> colet) { return(mICreate.getList <E, U>(mIDataAccess.select(sql), cmds, colet)); }