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);
 | |
|         }
 | |
| 
 | |
| 
 | |
|     }
 | |
| 
 | |
|    
 | |
| }
 |