using System; using DeiNiu.wms.Data.Model; using System.Data; using System.Collections; using System.Collections.Generic; namespace DeiNiu.wms.Logical { [Serializable] public class LAuthority { Authority _obj; public LAuthority() { Initialize(); } public Authority GetAuthority { get { return _obj; } } /// /// get all data /// public DataSet GetAllData() { return _obj.Query(); } /// /// get all data /// public DataSet getAllActiveData() { return _obj.QueryActived(); } /* private void leavetypeDsConstruct() { return; } */ /// /// get a record by id /// public void Initialize(int id) { _obj = id != 0 ? new Authority(id) : new Authority(); } /// /// get a record by id 0 /// public void Initialize() { Initialize(0); } public List getAuthorities() { List auths = new List(); DataTable dt = getAllActiveData().Tables[0]; foreach (DataRow row in dt.Rows) { int id = Convert.ToInt32(row["id"].ToString()); Authority ath = new Authority(id); auths.Add(ath); } return auths; } public List getAuthorities(int empId,int warehouse) { List auths = new List(); LRoleAuthority ll = new LRoleAuthority(); DataTable dt = ll.GetAuthByEm(empId , warehouse); foreach (DataRow row in dt.Rows) { Authority ath = new Authority(row); auths.Add(ath); } return auths; } public Dictionary> getCatedAuthorities(int empId,int warehouse=-1) { Dictionary> auths = new Dictionary>(); DataView dv = new DataView(getAllActiveData().Tables[0]); dv.Sort = "[auth_order]"; List subAuths = getAuthorities(empId, warehouse); foreach (Authority a in subAuths) { dv.RowFilter = "id =" + a.auth_uplevel; string key; foreach (DataRowView dr in dv) { key = dr["auth_name"].ToString(); if (auths.ContainsKey(key)) { auths[key].Add(a); } else { List sa = new List(); sa.Add(a); auths.Add(key, sa); } } } return auths; } } }