147 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			147 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			C#
		
	
	
	
|  | using System; | |||
|  | using System.Collections.Generic; | |||
|  | using System.Linq; | |||
|  | using System.Runtime.Serialization; | |||
|  | using System.ServiceModel; | |||
|  | using System.Text;  | |||
|  | using DeiNiu.Utils; | |||
|  | using System.Configuration; | |||
|  | using DeiNiu.wms.Logical; | |||
|  | using WcfServiceAuthentication; | |||
|  | using System.Threading; | |||
|  | using System.Data; | |||
|  | using DeiNiu.wms.Data.Model; | |||
|  | using System.Management; | |||
|  | 
 | |||
|  | 
 | |||
|  | namespace DeiNiu.Wcf | |||
|  | { | |||
|  |     // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码、svc 和配置文件中的类名“Setup”。 | |||
|  |     public class PortalService : IPortal | |||
|  |     { | |||
|  | 
 | |||
|  | 
 | |||
|  |      | |||
|  | 
 | |||
|  |       public int validUser(string userId, string passwd) | |||
|  |        { | |||
|  |            Employee emp = new Employee(); | |||
|  |            return emp.ValidUser(userId, passwd); | |||
|  |        } | |||
|  | 
 | |||
|  | 
 | |||
|  |        public Dictionary<String, List<String>> getCatedAuths(int userId ,int warehouse)  | |||
|  |        { | |||
|  |         | |||
|  |            Dictionary<String, List<String>> rs = new Dictionary<string, List<string>>(); | |||
|  |            Dictionary<String, List<Authority>> auths = new LAuthority().getCatedAuthorities(userId, warehouse); | |||
|  |            foreach (String cate in auths.Keys) | |||
|  |            { | |||
|  |                 List<String> lst = new List<string>(); | |||
|  |                foreach (Authority link in auths[cate]) | |||
|  |                { | |||
|  |                    if (string.IsNullOrEmpty(link.auth_class)) | |||
|  |                    { | |||
|  |                        continue; | |||
|  |                    } | |||
|  |                    lst.Add(link.auth_name +":"+ link.auth_class); | |||
|  |                  | |||
|  |                } | |||
|  |                rs[cate] = lst; | |||
|  |            } | |||
|  | 
 | |||
|  |            | |||
|  |             return rs; | |||
|  | 
 | |||
|  |        } | |||
|  | 
 | |||
|  |        public   List<String>  getSpecialAuths(int userId,int warehouse) | |||
|  |        { | |||
|  |            List<String> lst = new List<string>(); | |||
|  |            Dictionary<String, List<Authority>> auths = new LAuthority().getCatedAuthorities(userId, warehouse); | |||
|  |            foreach (String cate in auths.Keys) | |||
|  |            { | |||
|  |                | |||
|  |                foreach (Authority link in auths[cate]) | |||
|  |                { | |||
|  |                    if ( link.auth_special) | |||
|  |                    { | |||
|  |                        lst.Add(link.auth_name); | |||
|  |                    }  | |||
|  | 
 | |||
|  |                } | |||
|  |                 | |||
|  |            }  | |||
|  | 
 | |||
|  |            return lst; | |||
|  | 
 | |||
|  |        } | |||
|  | 
 | |||
|  |        public bool haveSpecialAuth(string userId, string passwd, string spAuth) | |||
|  |        { | |||
|  |            int eid = validUser(userId, passwd); | |||
|  |            if (eid > 0) | |||
|  |            { | |||
|  |                return getSpecialAuths(eid,-1).Contains(spAuth); | |||
|  |            } | |||
|  |              | |||
|  |            return false; | |||
|  |              | |||
|  |        } | |||
|  | 
 | |||
|  |         /* | |||
|  |       public DataTable getDictionary() | |||
|  |       { | |||
|  |           return new lNode().QueryByFlags(); | |||
|  |       } | |||
|  |         */ | |||
|  |           | |||
|  |      public void updateUserTheme(int userId, string theme) | |||
|  |      { | |||
|  |          Employee lem = new Employee(userId); | |||
|  |          lem.em_profile = theme.Trim(); | |||
|  |          lem.Update(); | |||
|  |      } | |||
|  | 
 | |||
|  |      static List<String> warehousenames ; | |||
|  |      public List<String> getWareHouses(string mgrAddress) | |||
|  |      { | |||
|  |        //if (warehousenames == null || warehousenames.Count==0) | |||
|  |          { | |||
|  |             warehousenames = new List<string>(); | |||
|  |             DataTable dt = new LDepartment().getWareHouse(mgrAddress); | |||
|  |            foreach (DataRow dr in dt.Rows) | |||
|  |            { | |||
|  |                warehousenames.Add(dr["dep_name"].ToString() + WmsConstants.SPLIT + dr["id"].ToString() | |||
|  |                    + ":" + dr["svrAdress"].ToString()); | |||
|  |            } | |||
|  |             | |||
|  |          } | |||
|  | 
 | |||
|  |          return warehousenames; | |||
|  |      } | |||
|  | 
 | |||
|  |         /* | |||
|  |      static List<String> warehouseMgrs; | |||
|  |      public List<String> getWareHouseMgrs() | |||
|  |      { | |||
|  |          if (warehouseMgrs == null) | |||
|  |          { | |||
|  |              warehouseMgrs = new List<string>(); | |||
|  |              DataTable dt = new LDepartment().getWareHouseMrgDept(); | |||
|  |              foreach (DataRow dr in dt.Rows) | |||
|  |              { | |||
|  |                  warehouseMgrs.Add(dr["dep_name"].ToString() + WmsConstants.SPLIT + dr["id"].ToString()); | |||
|  |              } | |||
|  | 
 | |||
|  |          } | |||
|  | 
 | |||
|  |          return warehouseMgrs; | |||
|  |      } | |||
|  |         */ | |||
|  | 
 | |||
|  | 
 | |||
|  | 
 | |||
|  |     } | |||
|  | } |