OpenAuth.Net/OpenAuth.Repository/OrgRepository.cs
yubaolee 2de1fb6433 1.0正式版
修复beta版未能解决的BUG;
全面修改页面结构,采用面向对象JS开发;
优化进出库管理示例,对资源的应用更加清晰;
完整的SQL初始数据;
2016-04-21 15:48:38 +08:00

57 lines
1.6 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using OpenAuth.Domain;
using OpenAuth.Domain.Interface;
namespace OpenAuth.Repository
{
public class OrgRepository : BaseRepository<Org>, IOrgRepository
{
public IEnumerable<Org> LoadOrgs()
{
return Find();
}
public IEnumerable<Org> LoadByUser(int userId)
{
var result = from userorg in Context.Relevances
join org in Context.Orgs on userorg.SecondId equals org.Id
where userorg.FirstId == userId && userorg.Key =="UserOrg"
select org;
return result;
}
public IEnumerable<Org> GetSubOrgs(int orgId)
{
string cascadeId = "0.";
if (orgId != 0)
{
var org = FindSingle(u => u.Id == orgId);
if (org == null)
throw new Exception("未能找到指定对象信息");
cascadeId = org.CascadeId;
}
return Find(u => u.CascadeId.Contains(cascadeId) && u.Id != orgId);
}
public IEnumerable<Org> GetSubWithOwn(int orgId)
{
string cascadeId = "0.";
if (orgId != 0)
{
var org = FindSingle(u => u.Id == orgId);
if (org == null)
throw new Exception("未能找到指定对象信息");
cascadeId = org.CascadeId;
}
return Find(u => u.CascadeId.Contains(cascadeId));
}
}
}