using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; using System.Linq; using System.Text; using System.Threading.Tasks; namespace BLL { public class ProjectQualityService { public static Model.SGGLDB db = Funs.DB; /// /// 查询 /// /// 类型 /// public static DataTable GetProjectQualityList(int? ProjectQualityType) { string strSql = @"SELECT a.* ,b.QualityQuestionType FROM WBS_ProjectQuality a left join Base_QualityQuestionType b on a.ProjectName = b.QualityQuestionTypeId"; List listStr = new List(); if (ProjectQualityType != null) { strSql += " where a.ProjectQualityType = @ProjectQualityType "; listStr.Add(new SqlParameter("@ProjectQualityType", ProjectQualityType)); } SqlParameter[] parameter = listStr.ToArray(); DataTable tb = SQLHelper.GetDataTableRunText(strSql, parameter); return tb; } /// /// 查询 /// /// public static Model.WBS_ProjectQuality GetProjectQualityModel(string ProjectQualityId) { var model = db.WBS_ProjectQuality.FirstOrDefault(c => c.ProjectQualityId == ProjectQualityId); return model; } /// /// 添加更新操作 /// /// /// public static bool UpdateProjectQuality(Model.WBS_ProjectQuality model) { bool isok = true; try { if (string.IsNullOrEmpty(model.ProjectQualityId)) { model.ProjectQualityId = SQLHelper.GetNewID(typeof(Model.WBS_ProjectQuality)); db.WBS_ProjectQuality.InsertOnSubmit(model); db.SubmitChanges(); } else { var editModel = db.WBS_ProjectQuality.FirstOrDefault(c => c.ProjectQualityId == model.ProjectQualityId); if (editModel != null) { editModel.ProjectName = model.ProjectName; editModel.ProjectQualityDes = model.ProjectQualityDes; editModel.ProjectQualityResult = model.ProjectQualityResult; editModel.ProjectQualityType = model.ProjectQualityType; editModel.Remark = model.Remark; editModel.ShowIndex = model.ShowIndex; db.SubmitChanges(); } } } catch (Exception ex) { isok = false; } return isok; } /// /// 删除操作 /// /// /// public static bool DelProjectQuality(string id) { bool isok = true; try { var delModel = db.WBS_ProjectQuality.FirstOrDefault(c => c.ProjectQualityId == id); if (delModel != null) { db.WBS_ProjectQuality.DeleteOnSubmit(delModel); db.SubmitChanges(); } } catch (Exception ex) { isok = false; } return isok; } #region API /// /// 根据--1 建筑工程 2 安装工程或者3(全部)分组问题类别 ---何丽梅 /// /// public static List GetGroupProjectName(int ProjectQualityType) { //var list = db.WBS_ProjectQuality.Where(c => c.ProjectQualityType == ProjectQualityType).GroupBy(c => c.ProjectName).Select(c => c.Key).ToList(); //return list; var list = from y in Funs.DB.Base_QualityQuestionType select new { y.Type, y.QualityQuestionType, y.QualityQuestionTypeId } ; switch (ProjectQualityType) { case 1: // 建筑工程 list = list.Where(e => e.Type == 1); break; case 2: // 安装工程 list = list.Where(e => e.Type == 2); break; case 3: // 全部 list = list.Where(e => e.Type == 2 || e.Type == 1); break; } return list.Distinct().ToList(); } /// /// 分解1 建筑工程 2 安装工程选择的问题类型 ---何丽梅 /// /// public static Model.WBS_ProjectQuality GetQualityProjectNameType(string QualityQuestionTypeId) { return Funs.DB.WBS_ProjectQuality.FirstOrDefault(e => e.ProjectName == QualityQuestionTypeId); } /// /// 分组问题描述 /// /// public static List GetGroupProjectQualityDes(string projectName) { var list = db.WBS_ProjectQuality.Where(c => c.ProjectName == projectName).GroupBy(c => c.ProjectQualityDes).Select(c => new { QuestionDef = c.Key, QuestionDefId = c.Key }).ToList(); return list; } /// /// 分组问题描述 /// /// public static List GetGroupProjectQualityDes(List projectNames) { var list = db.WBS_ProjectQuality.Where(c => projectNames.Contains(c.ProjectName)).GroupBy(c => c.ProjectQualityDes).Select(c => new { QuestionDef = c.Key, QuestionDefId = c.Key }).ToList(); return list; } /// /// 分组问题描述 /// /// public static List GetProjectQualityResult(string projectQualityDes) { var list = db.WBS_ProjectQuality.Where(c => c.ProjectQualityDes == projectQualityDes).Select(c => new { RectifyOpinion = c.ProjectQualityResult, RectifyOpinionId = c.ProjectQualityResult }).ToList(); return list; } #endregion } }