using EmitMapper;
using System.Collections.Generic;
using System.Linq;
namespace BLL
{
public static class APIUnitService
{
///
/// 根据UnitId获取单位信息
///
///
///
public static Model.UnitItem getUnitByUnitId(string unitId)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var getUnit = db.Base_Unit.FirstOrDefault(x => x.UnitId == unitId);
return ObjectMapperManager.DefaultInstance.GetMapper().Map(getUnit);
}
}
///
/// 获取所有单位信息
///
///
///
public static List getUnitLists()
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var units = (from x in db.Base_Unit
orderby x.UnitName
select new Model.BaseInfoItem { BaseInfoId = x.UnitId, BaseInfoCode = x.UnitCode, BaseInfoName = x.UnitName }).ToList();
return units;
}
}
///
/// 获取项目所有单位信息
///
///
///
public static List getProjectUnitLists(string projectId)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
var units = (from x in db.Base_Unit
join y in db.Project_ProjectUnit
on x.UnitId equals y.UnitId
where y.ProjectId == projectId
orderby x.UnitName
select new Model.BaseInfoItem { BaseInfoId = x.UnitId, BaseInfoCode = x.UnitCode, BaseInfoName = x.UnitName }).ToList();
return units;
}
}
///
/// 根据projectId、unitType获取单位信息(总包1;施工分包2;监理3;业主4;其他5)
///
///
///
public static List getUnitByProjectIdUnitType(string projectId, string unitType)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
List units = new List();
if (unitType != Const.ProjectUnitType_2)
{
units = (from x in db.Base_Unit
join y in db.Project_ProjectUnit
on x.UnitId equals y.UnitId
where y.ProjectId == projectId && (y.UnitType == unitType || unitType == null)
orderby x.UnitName
select x).ToList();
}
else
{
units = (from x in db.Base_Unit
join y in db.Project_ProjectUnit
on x.UnitId equals y.UnitId
where y.ProjectId == projectId && (y.UnitType == BLL.Const.ProjectUnitType_2 || y.UnitType == BLL.Const.ProjectUnitType_6)
orderby x.UnitName
select x).ToList();
}
return ObjectMapperManager.DefaultInstance.GetMapper, List>().Map(units.ToList());
}
}
///
/// 根据projectId、unitType获取单位信息(总包1;施工分包2;监理3;业主4;其他5)
///
///
///
public static List getUnitByProjectIdUnitTypeQuery(string projectId, string strParam, string unitType)
{
using (Model.SGGLDB db = new Model.SGGLDB(Funs.ConnString))
{
List units = new List();
if (unitType != Const.ProjectUnitType_2)
{
units = (from x in db.Base_Unit
join y in db.Project_ProjectUnit
on x.UnitId equals y.UnitId
where y.ProjectId == projectId && (strParam == null || x.UnitName.Contains(strParam))
&& (y.UnitType == unitType || unitType == null)
orderby x.UnitName
select x).ToList();
}
else
{
units = (from x in db.Base_Unit
join y in db.Project_ProjectUnit
on x.UnitId equals y.UnitId
where y.ProjectId == projectId && (strParam == null || x.UnitName.Contains(strParam))
&& (y.UnitType == BLL.Const.ProjectUnitType_2 || y.UnitType == BLL.Const.ProjectUnitType_6)
orderby x.UnitName
select x).ToList();
}
return ObjectMapperManager.DefaultInstance.GetMapper, List>().Map(units.ToList());
}
}
}
}