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;
|
|||
|
}
|
|||
|
*/
|
|||
|
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
}
|