SGGL_JT/SUBQHSE/BLL/API/APIProjectService.cs

94 lines
3.8 KiB
C#

using EmitMapper;
using System.Collections.Generic;
using System.IO;
using System.Linq;
namespace BLL
{
public static class APIProjectService
{
/// <summary>
/// 根据userId获取用户信息
/// </summary>
/// <param name="userId"></param>
/// <returns></returns>
public static List<Model.ProjectItem> geProjectsByUserId(string userId, string strparm = null)
{
using (Model.SUBQHSEDB db = new Model.SUBQHSEDB(Funs.ConnString))
{
IQueryable<Model.Base_Project> 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<Model.Base_Project>, List<Model.ProjectItem>>().Map(projects.ToList());
foreach (var item in result)
{
item.UnitName = UnitService.GetUnitNameByUnitId(item.UnitId);
}
return result;
}
}
/// <summary>
/// 根据userId获取用户信息
/// </summary>
/// <param name="userId"></param>
/// <returns></returns>
public static List<Model.ProjectItem> 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<Model.Base_Project>, List<Model.ProjectItem>>().Map(projects.ToList());
foreach (var item in result)
{
item.UnitName = UnitService.GetUnitNameByUnitId(item.UnitId);
}
return result;
}
}
/// <summary>
/// 根据项目ID获取用户信息
/// </summary>
/// <param name="projectId"></param>
/// <returns></returns>
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<Model.Base_Project, Model.ProjectItem>().Map(getproject);
}
}
}
}