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()); } } } }