using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace BLL
{
public class WorkPackageProjectService
{
///
///// 添加分部工程
///
///
public static void AddWorkPackageProject(Model.WBS_WorkPackageProject workPack)
{
Model.SGGLDB db = Funs.DB;
Model.WBS_WorkPackageProject newPack = new Model.WBS_WorkPackageProject();
newPack.WorkPackageCode = workPack.WorkPackageCode;
newPack.ProjectId = workPack.ProjectId;
newPack.SuperWorkPack = workPack.SuperWorkPack;
newPack.PackageCode = workPack.PackageCode;
newPack.PackageContent = workPack.PackageContent;
newPack.IsChild = workPack.IsChild;
newPack.ProjectType = workPack.ProjectType;
db.WBS_WorkPackageProject.InsertOnSubmit(newPack);
db.SubmitChanges();
}
///
/// 修改子分部工程
///
///
public static void UpdateWorkPackageProject(Model.WBS_WorkPackageProject workPack)
{
Model.SGGLDB db = Funs.DB;
Model.WBS_WorkPackageProject newPack = db.WBS_WorkPackageProject.First(e => e.WorkPackageCode == workPack.WorkPackageCode);
newPack.WorkPackageCode = workPack.WorkPackageCode;
newPack.IsChild = workPack.IsChild;
newPack.PackageContent = workPack.PackageContent;
db.SubmitChanges();
}
///
/// 根据分部分项编号和项目id获取项目分部分项内容
///
///
///
///
public static Model.WBS_WorkPackageProject GetWorkPackageProjectByWorkPackageCode(string workPackageCode, string projectId)
{
return Funs.DB.WBS_WorkPackageProject.FirstOrDefault(x => x.WorkPackageCode == workPackageCode && x.ProjectId == projectId);
}
///
/// 根据项目id判断是否存在项目分部分项内容
///
///
///
///
public static bool IsExitWorkPackageProject(string projectId)
{
return Funs.DB.WBS_WorkPackageProject.FirstOrDefault(x => x.ProjectId == projectId) != null;
}
///
/// 根据分部分项编号获取子级项目分部分项信息集合
///
///
///
public static List GetWorkPackageProjectsBySuperWorkPack(string workPackageCode, string projectId)
{
return (from x in Funs.DB.WBS_WorkPackageProject where x.SuperWorkPack == workPackageCode && x.ProjectId == projectId select x).ToList();
}
///
/// 根据分部工程编号删除一个项目分部工程信息
///
///
public static void DeleteWorkPackageProject(string workPackageCode, string projectId)
{
Model.SGGLDB db = Funs.DB;
Model.WBS_WorkPackageProject delWorkPack = db.WBS_WorkPackageProject.First(e => e.WorkPackageCode == workPackageCode && e.ProjectId == projectId);
db.WBS_WorkPackageProject.DeleteOnSubmit(delWorkPack);
db.SubmitChanges();
}
///
/// 是否存在分部分项工程
///
///
/// true-存在,false-不存在
public static bool IsExistWorkPackageProjectName(string supWorkPack, string packageContent, string workPackageCode, string projectId)
{
var q = from x in Funs.DB.WBS_WorkPackageProject where x.SuperWorkPack == supWorkPack && x.PackageContent == packageContent && x.WorkPackageCode != workPackageCode && x.ProjectId == projectId select x;
if (q.Count() > 0)
{
return true;
}
else
{
return false;
}
}
///
/// 根据项目编号和工程类型获取第一级分部
///
///
///
public static List GetWorkPackageProjects1ByProjectIdAndProjectType(string projectId, string projectType)
{
return (from x in Funs.DB.WBS_WorkPackageProject where x.ProjectId == projectId && x.ProjectType == projectType && x.SuperWorkPack == null select x).ToList();
}
///
/// 根据项目编号和工程类型获取第二、三级分部
///
///
///
public static List GetWorkPackageProjects2ByWorkPackageCode(string workPackageCode, string projectId)
{
return (from x in Funs.DB.WBS_WorkPackageProject where x.ProjectId == projectId && x.SuperWorkPack == workPackageCode select x).ToList();
}
}
}