using EmitMapper;
using System.Collections.Generic;
using System.IO;
using System.Linq;
namespace BLL
{
public static class APIProjectService
{
///
/// 根据userId获取用户信息
///
///
///
public static List geProjectsByUserId(string userId, string strparm = null)
{
using (Model.SUBQHSEDB db = new Model.SUBQHSEDB(Funs.ConnString))
{
IQueryable projects;
if (CommonService.IsThisUnitLeaderOfficeOrManage(userId))
{
projects = from x in db.Base_Project
where (x.ProjectState == null || x.ProjectState == BLL.Const.ProjectState_1)
&& (x.IsDelete == null || x.IsDelete == false)
select x;
}
else
{
projects = from x in db.Project_ProjectUser
join y in db.Base_Project on x.ProjectId equals y.ProjectId
where x.UserId == userId && (y.ProjectState == null || y.ProjectState == BLL.Const.ProjectState_1)
&& (y.IsDelete == null || y.IsDelete == false)
select y;
}
if (!string.IsNullOrEmpty(strparm))
{
projects = projects.Where(x => x.ProjectName.Contains(strparm));
}
var result = ObjectMapperManager.DefaultInstance.GetMapper, List>().Map(projects.ToList());
foreach (var item in result)
{
item.UnitName = UnitService.GetUnitNameByUnitId(item.UnitId);
}
return result;
}
}
///
/// 根据userId获取用户信息
///
///
///
public static List getALLProjectsByUserId(string userId, string strparm = null)
{
using (Model.SUBQHSEDB db = new Model.SUBQHSEDB(Funs.ConnString))
{
var projects = from x in db.Project_ProjectUser
join y in db.Base_Project on x.ProjectId equals y.ProjectId
where x.UserId == userId && (y.IsDelete == null || y.IsDelete == false)
orderby y.ProjectCode
select y;
if (!string.IsNullOrEmpty(strparm))
{
projects = projects.Where(x => x.ProjectName.Contains(strparm));
}
var result = ObjectMapperManager.DefaultInstance.GetMapper, List>().Map(projects.ToList());
foreach (var item in result)
{
item.UnitName = UnitService.GetUnitNameByUnitId(item.UnitId);
}
return result;
}
}
///
/// 根据项目ID获取用户信息
///
///
///
public static Model.ProjectItem getProjectByProjectId(string projectId)
{
using (Model.SUBQHSEDB db = new Model.SUBQHSEDB(Funs.ConnString))
{
var getproject = db.Base_Project.FirstOrDefault(x => x.ProjectId == projectId);
return ObjectMapperManager.DefaultInstance.GetMapper().Map(getproject);
}
}
}
}