using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Http; using System.Web.Http; using BLL; using Model; namespace WebAPI.Controllers.DataPenetrate { /// /// 单位控制器 /// public class ProjectUnitPenetrateController : ApiController { #region 查询 /// /// 根据项目id查询单位信息 /// /// /// [HttpGet] public Model.ResponeData getInfo(string projectIds="") { string projectId = projectIds; var responeData = new Model.ResponeData(); if (string.IsNullOrEmpty(projectId)) { responeData.code = 0; responeData.message = "项目id不能为空"; return responeData; } try { using (Model.SUBQHSEDB db = new Model.SUBQHSEDB(Funs.ConnString)) { var units = (from x in db.Base_Unit orderby x.UnitCode select x).ToList(); var units2 = (from x in units join y in db.Project_ProjectUnit on x.UnitId equals y.UnitId where y.ProjectId == projectId select x).OrderBy(x => x.UnitCode).Select(s=> new Base_Unit_New() { UnitId=s.UnitId, UnitName=s.UnitName }).ToList(); responeData.data = new { units2 }; if (units2.Count == 0) { responeData.code = 1; responeData.message = "根据条件未查询到数据。"; return responeData; } else { responeData.message = "查询成功。"; } } } catch (Exception ex) { responeData.code = 0; responeData.message = ex.Message; } return responeData; } private class Base_Unit_New { public string UnitId { get; set; } public string UnitName { get; set; } } #endregion #region 保存 /// /// 保存单位 /// /// /// public ResponeData saveUnit(Base_Unit model) { var responeData = new Model.ResponeData(); try { #region 判断 if (string.IsNullOrEmpty(model.UnitCode)) { responeData.code = 0; responeData.message = "单位代码(UnitCode)不能为空。"; return responeData; } if (string.IsNullOrEmpty(model.UnitName)) { responeData.code = 0; responeData.message = "单位名称(UnitName)不能为空。"; return responeData; } if (string.IsNullOrEmpty(model.DataSources)) { responeData.code = 0; responeData.message = "项目id(DataSources)不能为空。"; return responeData; } else { //判断projectid是否有数据 var pmodel = Funs.DB.Base_Project.FirstOrDefault(x => x.ProjectId == model.DataSources); if (pmodel == null) { responeData.code = 0; responeData.message = "项目id(DataSources)未查询到数据,请检查是否正确。"; return responeData; } } #endregion if (string.IsNullOrEmpty(model.UnitId)) { model.UnitId = SQLHelper.GetNewID(typeof(Model.Base_Unit)); BLL.UnitService.AddUnit(model); Model.Project_ProjectUnit newProjectUnit = new Model.Project_ProjectUnit { ProjectId = model.DataSources, UnitId = model.UnitId, InTime = System.DateTime.Now }; BLL.ProjectUnitService.AddProjectUnit(newProjectUnit); responeData.message = "保存成功!"; } else { //判断userid是否有数据 var umodel = Funs.DB.Base_Unit.FirstOrDefault(x => x.UnitId == model.UnitId); if (umodel == null) { responeData.code = 0; responeData.message = "单位id(UnitId)未查询到数据,无法修改,请检查是否正确。"; return responeData; } Model.Base_Unit oldUnit = BLL.UnitService.GetUnitByUnitId(model.UnitId); if (oldUnit != null) { model.IsThisUnit = oldUnit.IsThisUnit; } BLL.UnitService.UpdateUnit(model); responeData.message = "修改成功!"; } } catch (Exception ex) { responeData.code = 0; responeData.message = ex.Message; } return responeData; } #endregion #region 根据ProjectUnitId获取信息 /// /// 根据ProjectUnitId获取信息 /// /// /// [HttpGet] public Model.ResponeData getDataByProjectUnitId(string ProjectUnitId) { var responeData = new Model.ResponeData(); try { var query = (from projectUnit in Funs.DB.Project_ProjectUnit join project in Funs.DB.Base_Project on projectUnit.ProjectId equals project.ProjectId into projectGroup from project in projectGroup.DefaultIfEmpty() join unit in Funs.DB.Base_Unit on projectUnit.UnitId equals unit.UnitId into unitGroup from unit in unitGroup.DefaultIfEmpty() join sysConst in Funs.DB.Sys_Const on new { GroupId = BLL.ConstValue.Group_ProjectUnitType, ConstValue = projectUnit.UnitType } equals new { GroupId = sysConst.GroupId, ConstValue = sysConst.ConstValue } into sysConstGroup from sysConst in sysConstGroup.DefaultIfEmpty() where projectUnit.ProjectUnitId == ProjectUnitId select new { ProjectUnitId = projectUnit.ProjectUnitId, ProjectId = projectUnit.ProjectId, ProjectName = project.ProjectName, UnitId = projectUnit.UnitId, UnitName = unit.UnitName, }).FirstOrDefault(); responeData.data = new { query }; } catch (Exception ex) { responeData.code = 0; responeData.message = ex.Message; } return responeData; } #endregion } }