209 lines
		
	
	
		
			5.9 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			209 lines
		
	
	
		
			5.9 KiB
		
	
	
	
		
			C#
		
	
	
	
|  | 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; | ||
|  |             } | ||
|  |         } | ||
|  | 		 | ||
|  | 		/// <summary> | ||
|  | 		/// get all data | ||
|  | 		/// </summary> | ||
|  |         public DataSet GetAllData() | ||
|  |         { | ||
|  |            return _obj.Query(); | ||
|  |         } | ||
|  | 
 | ||
|  |         /// <summary> | ||
|  |         /// get all data | ||
|  |         /// </summary> | ||
|  |         public DataSet getAllActiveData() | ||
|  |         { | ||
|  |             return _obj.QueryActived(); | ||
|  |         } | ||
|  | 
 | ||
|  | 
 | ||
|  | /* | ||
|  |         private void leavetypeDsConstruct() | ||
|  |         { | ||
|  |             return; | ||
|  |         } | ||
|  | */ | ||
|  | 		 | ||
|  | 		/// <summary> | ||
|  | 		/// get a record by id | ||
|  | 		/// </summary> | ||
|  |         public void Initialize(int id) | ||
|  | 		{ | ||
|  |             _obj = id != 0 ? new Authority(id) : new Authority(); | ||
|  | 		} | ||
|  | 
 | ||
|  |         /// <summary> | ||
|  | 		/// get a record by id 0 | ||
|  | 		/// </summary> | ||
|  |         public void Initialize() | ||
|  |         { | ||
|  |             Initialize(0); | ||
|  |         } | ||
|  |         public List<Authority> getAuthorities() | ||
|  |         { | ||
|  |             List<Authority> auths = new List<Authority>(); | ||
|  |             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<Authority> getAuthorities(int empId, int warehouse) | ||
|  |         { | ||
|  |              | ||
|  |             List<Authority> auths = new List<Authority>(); | ||
|  |             RoleAuthority  ll = new RoleAuthority(); | ||
|  | 
 | ||
|  |             DataTable dt = ll.GetAuthByEm(empId, warehouse); | ||
|  | 
 | ||
|  |             foreach (DataRow row in dt.Rows) | ||
|  |             { | ||
|  | 
 | ||
|  |                 int id = Convert.ToInt32(row["id"].ToString()); | ||
|  |                 Authority ath = new Authority(id); | ||
|  |                 auths.Add(ath); | ||
|  |             } | ||
|  |             return auths; | ||
|  |         } | ||
|  |         public Dictionary<String, List<Authority>> getMobileAuthorities(int empId) | ||
|  |         { | ||
|  |             Dictionary<String, List<Authority>> auths = new Dictionary<String, List<Authority>>(); | ||
|  | 
 | ||
|  |             // DataView dv = new DataView(getAllActiveData().Tables[0]); | ||
|  |             DataView dv = _obj.queryCateAuths().DefaultView; | ||
|  |             List<Authority> subAuths = getAuthorities(empId,-1);  | ||
|  |            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<Authority> sa = new List<Authority>(); | ||
|  |                          sa.Add(a); | ||
|  |                          auths.Add(key, sa); | ||
|  |                      } | ||
|  |                  } | ||
|  |              } | ||
|  |               | ||
|  | 
 | ||
|  |             return auths; | ||
|  |         } | ||
|  |       // public Dictionary<String, List<Authority>> getCatedAuthorities(int empId,int warehouse=-1) | ||
|  |         public Dictionary<String, List<Authority>> getCatedAuthorities(int empId,int warehouse=-1) | ||
|  |         { | ||
|  |             Dictionary<String, List<Authority>> auths = new Dictionary<String, List<Authority>>(); | ||
|  | 
 | ||
|  |            // DataView dv = new DataView(getAllActiveData().Tables[0]); | ||
|  |             DataView dv = _obj.queryCateAuths().DefaultView; | ||
|  |             List<Authority> 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<Authority> sa = new List<Authority>(); | ||
|  |                         sa.Add(a); | ||
|  |                         auths.Add(key, sa); | ||
|  |                     } | ||
|  |                 } | ||
|  |             } | ||
|  | 
 | ||
|  |             */ | ||
|  |               | ||
|  |                 foreach (DataRowView dr in dv) | ||
|  |                 { | ||
|  |                     string formexists = dr["auth_class"].ToString(); | ||
|  |                     string special = dr["auth_special"].ToString(); | ||
|  | 
 | ||
|  |                     if (string.IsNullOrEmpty(formexists)  | ||
|  |                         && string.IsNullOrEmpty(special) | ||
|  |                         ) | ||
|  |                     { | ||
|  |                         continue; | ||
|  |                     } | ||
|  | 
 | ||
|  |                     List<Authority> sa = new List<Authority>(); | ||
|  |                     string key = dr["auth_name"].ToString(); | ||
|  |                     auths.Add(key, sa); | ||
|  |                     foreach (Authority a in subAuths) | ||
|  |                     { | ||
|  |                         if (a.auth_uplevel == Convert.ToInt16(dr["id"].ToString())) | ||
|  |                         {   | ||
|  |                          //  string  key = dr["auth_name"].ToString(); | ||
|  |                             if (auths.ContainsKey(key)) | ||
|  |                             { | ||
|  |                                 auths[key].Add(a); | ||
|  |                             } | ||
|  |                             else | ||
|  |                             { | ||
|  |                               //  List<Authority> sa = new List<Authority>(); | ||
|  |                               //  sa.Add(a); | ||
|  |                               //  auths.Add(key, sa); | ||
|  |                             } | ||
|  |                         } | ||
|  |                     } | ||
|  |                 } | ||
|  |               | ||
|  |             return auths; | ||
|  |         } | ||
|  | 
 | ||
|  |         bool validUser(string userId,string passwd) | ||
|  |         { | ||
|  |             Employee emp = new Employee(); | ||
|  |             return emp.login(userId,passwd); | ||
|  |         } | ||
|  | 
 | ||
|  | 
 | ||
|  |     } | ||
|  | 
 | ||
|  |     | ||
|  | } |