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
}
}